求一个有关文件的程序

meisei81 2010-05-11 10:37:49
一直都被文件困扰着。希望大家能给个文件的程序。要求能向文件中添加数据和读出数据。用inputstream和outputstream。写入文件时判断文件是否存在。若存在则直接在文件末尾添加数据,否则创建一个文件。希望文件方面需要注意的知识越全面越好。谢谢
...全文
193 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
meisei81 2010-05-13
  • 打赏
  • 举报
回复
非常感谢楼上的答复。谢谢。
crazylaa 2010-05-12
  • 打赏
  • 举报
回复
读写很简单,乱写的:


package test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class ReadWriteListFile {
public static void main(String[] args) throws Exception {

try {

String fileName = "E:\\result.dat";
String contents = "ReadWriteListFile.formatLst(lst)";
saveFile(fileName, contents);
String a = readFile(fileName);
System.out.println(a);
} catch (Exception e) {
e.printStackTrace();
}
}

public static String readFile(String fileName) throws Exception {
String contents = "";
String s = "";
File f = new File(fileName);
if (!f.exists()) {
throw new Exception("file doesn't exist....");
}
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(
new FileInputStream(f)));

while ((s = br.readLine()) != null) {
contents += s + "\n";
}

System.out.println("read file finished");
} catch (Exception e) {
throw e;
} finally {
try {
br.close();
} catch (Exception e) {

}
}
return contents;
}

static void saveFile(String fileName, String contents) throws IOException {
File f = new File(fileName);
BufferedWriter output = null;
try {
// 如果不存在
if (!f.exists()) {
// 建新文件
if (!f.createNewFile()) {
throw new IOException("file create failure...");
}
}
// 这里的 true表示文件追加,false表示原来的都不要
output = new BufferedWriter(new FileWriter(f, true));
output.write(contents);

} catch (Exception e) {
e.printStackTrace();
} finally {
// 最后在finally关闭
try {
output.close();

} catch (Exception e) {

}
}
}
}

xiaohongboabcd 2010-05-12
  • 打赏
  • 举报
回复

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileUtil {
/***
* 将指定文件中的信息读取到一个字节数组中
* @param fileName
* @return
* @throws IOException
*/
public byte[]loadFileData(String fileName)throws IOException{
byte[] filedate = new byte[1000];
File fileIn = new File(fileName);
if(fileIn.exists()){
FileInputStream input = new FileInputStream(fileIn);
input.read(filedate);
input.close();
}
else{
System.out.println("文件不存在");
}
return filedate;
}
/***
* 将字节数组的信息保存到相应的文件中,同时记录所读取的字节数
* @param fileName
* @param data
* @throws IOException
*/
public void saveDataToFile(String fileName,byte[]data)throws IOException{
int byteNum;
File fileOut = new File(fileName);
if(!fileOut.exists()){
fileOut.createNewFile();
}
FileOutputStream out = new FileOutputStream(fileOut);
out.write(data);
out.close();
}


}
lacus87 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lacus87 的回复:]
InputStream is = new FileInputStream("文件路径",true);
[/Quote]
纠正:打错了 囧
OutputStream is = new FileOutputStream("文件路径",true);
lacus87 2010-05-12
  • 打赏
  • 举报
回复
LZ你好有爱
InputStream is = new FileInputStream("文件路径",true);
就会自动识别了,没有就创建,有就在末尾添加....

外面再加上各种各样的处理流吧,多看看JDK
小_Y 2010-05-12
  • 打赏
  • 举报
回复
jdk上有。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧