JAVA基础 JAVA I/O
File类
创建文件
使用createNewFile()方法。
创建文件夹
使用mkdir()方法。
删除文件、文件夹
都使用delete()方法。
创建、删除文件和文件夹代码如下:
{
/* 如果文件存在,则删除;如果文件不存在,则创建 */
File f = new File("d:" + File.separator + "test.txt");
if (f.exists()) {
f.delete();
} else {
/**
* windows中的目录分隔符用“\”表示;
* 而Linux中的目录分隔符用“/”表示。
* 所以推荐使用File.separator,这样可以兼容两个操作系统
*/
try {
f.createNewFile(); /* 由于createNewFile方法使用了throw关键字声明,
所以必须使用try...catch进行异常处理 */
} catch (IOException e) {
e.printStackTrace();
}
}
/* 如果文件夹存在,则删除;如果文件夹不存在,则创建 */
File folder = new File("d:" + File.separator + "test");
if (folder.exists()) {
folder.delete();
} else {
folder.mkdir();
}
}
字节流
字节流的主要操作类是OutputStream类和InputStream类。
字节输出流OutputStream
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输出流对象
OutputStream out = null;
out = new FileOutputStream(f);
//第3步,进行实际的写操作
String str = "Hello World\n";
byte b[] = str.getBytes();
out.write(b);
//第4步,关闭输出流
out.close();
//追加新内容
out = new FileOutputStream(f, true); //此处表示在文件末尾追加内容
String str2 = "Add the new content!\n";
byte b2[] = str2.getBytes();
out.write(b2);
out.close();
}
字节输入流InputStream
第一种读取方法,把文件内容整体读出
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输入流对象
InputStream in = null;
in = new FileInputStream(f);
//第3步,进行实际的读操作
byte b[] = new byte[(int)f.length()]; //所有的内容读到此数组中,数组大小由文件决定
int len = in.read(b); //将内容读出,并且返回内容的长度
//第4步,关闭输入流
in.close();
System.out.println("内容为:\n" + new String(b, 0, len));
}
第二种读取方法,把文件内容一一读出,直到文件末尾
//第1步,使用File类绑定一个文件
File f = new File("d:" + File.separator + "test.txt");
//第2步,准备好文件输入流对象
InputStream in = null;
in = new FileInputStream(f);
//第3步,进行实际的读操作
byte b[] = new byte[1024];
int temp = 0;
int len = 0;
while (-1 != (temp = in.read())) {
//将每次的读取内容赋值给temp变量,如果temp的值不是-1,表示文件没有读完
b[len] = (byte)temp;
len++;
}
//第4步,关闭输入流
in.close();
System.out.println("内容为:\n" + new String(b, 0, len));
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。