您的位置:首页 > 编程语言 > Java开发

java file to inputstream以及New Document From InputStream读取和写入文件操作实例代码

2015-11-26 14:51 1201 查看

A. http://www.java2s.com/Code/Java/XML/NewDocumentFromInputStream.htm

New Document From InputStream

import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.io.StringWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

/*******************************************************************************
 * Copyright (C) 2007 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0  * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 ******************************************************************************/

/**
 * Various XML utilities.
 * 
 * @author simonjsmith, ksim
 * @version 1.1 - ksim - March 6th, 2007 - Added functions regarding streaming
 * @version 1.2 - ksim - March 10th, 2007 - Added functions regarding DOM
 *manipulation
 */
public class Utils {
  public static Document newDocumentFromInputStream(InputStream in) {
    DocumentBuilderFactory factory = null;
    DocumentBuilder builder = null;
    Document ret = null;

    try {
      factory = DocumentBuilderFactory.newInstance();
      builder = factory.newDocumentBuilder();
    } catch (ParserConfigurationException e) {
      e.printStackTrace();
    }

    try {
      ret = builder.parse(new InputSource(in));
    } catch (SAXException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return ret;
  }

}


B. http://www.zuidaima.com/share/1758442014903296.htm

java通过InputStream读取和写入文件操作实例代码

1. File to InputStream

1
File
 file =
new
File(
"file.xml"
);
2
InputStream
 inputStream =
new
FileInputStream(file);
2.InputStream to File

01
InputStream
 inputStream =
new
FileInputStream(
"file.xml"
);
02
03
OutputStream 
 outputStream =
new
FileOutputStream(
"file-new.xml"
);
04
05
int
bytesWritten
 =
0
;
06
int
byteCount
 =
0
;
07
08
byte
[]
 bytes =
new
byte
[
1024
];
09
10
while
((byteCount
 =inputStream.read(bytes)) != -
1
)
11
{
12
outputStream.write(bytes,
 bytesWritten, byteCount);
13
 
bytesWritten
 += byteCount;
14
}
15
inputStream.close();
16
outputStream.close();
项目截图




C. http://stackoverflow.com/questions/11100677/file-to-inputstream

[code][code] InputStream is; try { is = new FileInputStream("c://filename"); is.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return is;

FileInputStream is an inputStream.
[code]FileInputStream fis = new FileInputStream("c://filename");
InputStream is = fis;
fis.close();  
return is;


Of course, this will not do what you want it to do; the stream you return has already been closed. Just return the FileInputStream and be done with it. The calling code should close it.
-------------------------------------------------------------------------------------------------------------------------------

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintStream;

import java.util.Collection;

import java.util.Hashtable;

import java.util.Properties;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.NamedNodeMap;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.InputSource;

import org.xml.sax.SAXException;

DocumentBuilderFactory df = javax.xml.parsers.DocumentBuilderFactory.newInstance();

DocumentBuilder db = df.newDocumentBuilder();

// File file = new File(css_template_file);

// InputStream in = new InputStream(new FileOutputStream(file));//In

FileInputStream fis = new FileInputStream(css_template_file);

InputStream in = fis;

fis.close();

Document dom = db.parse(new InputSource(in));

改进完成,mark 一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: