//的.txt文件
writeName.createNewFile()// 创建新文件,有同名的文件的话直接覆盖
FileWriter writer = new FileWriter(writeName)
BufferedWriter out = new BufferedWriter(writer)
out.write(你要写入的信息);
File file = new File("fileName")并不是创建了一个文件。而是打开了一个内存到文件的句柄。
可以理解为 java程序和本地磁盘上的这个文件连接了。
之后可以对这个文件做 *** 作。
如果你要创建一个文件。并且写入内容。
必须用输出流。
比如你的xml是一个String .叫xmlstr
String xmlstr="aaa"File file = new File("d:\\fileName.doc")
byte []strtemp =xmlstr.getBytes()
//来源你字符串的输入流
InputStream in =new ByteArrayInputStream(strtemp)
OutputStream out =null
try {
//到你文件的输出流
out= new FileOutputStream(file )
byte[] temp =new byte[1024]
//读输入,写到输出
while(in.read(temp)!=-1){
out.write(temp)
}
out.flush()
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
finally{
try {
if(in!=null){
in.close()
}
if(out!=null){
out.close()
}
}
catch (IOException e) {
}
}
通过流的方式把文件写到你要的路径下才算创建了一个文件。
具体的创建方法参照下面的实例:public class FileTest {
public static void main(String[] args) {
// 根据系统的实际情况选择目录分隔符(windows下是,linux下是/)
String separator = File.separator
String directory = "myDir1" + separator + "myDir2"
// 以下这句的效果等同于上面两句,windows下正斜杠/和反斜杠都是可以的
// linux下只认正斜杠,为了保证跨平台性,不建议使用反斜杠(在java程序中是转义字符,用\来表示反斜杠)
// String directory = "myDir1/myDir2"
String fileName = "myFile.txt"
// 在内存中创建一个文件对象,注意:此时还没有在硬盘对应目录下创建实实在在的文件
File f = new File(directory,fileName)
if(f.exists()) {
// 文件已经存在,输出文件的相关信息
System.out.println(f.getAbsolutePath())
System.out.println(f.getName())
System.out.println(f.length())
} else {
// 先创建文件所在的目录
f.getParentFile().mkdirs()
try {
// 创建新文件
f.createNewFile()
} catch (IOException e) {
System.out.println("创建新文件时出现了错误。。。")
e.printStackTrace()
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)