如何在java中的任何机器上读取文本文件

时间:2011-11-07 12:09:25

标签: java

我正在尝试读取文件,但它只在我的机器上读取,它不能在另一台机器上工作。这是我的代码..

FileInputStream fstream=new FileInputStream("/path of myfile/User.txt");    
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String str;
while ((str =  br.readLine()) != null) {
    System.out.println(str);
} 

请帮助我,如何在另一台机器上读取文件,我应该做些什么改变?

2 个答案:

答案 0 :(得分:1)

如果要读取驻留在另一台计算机上的文件,则必须使用某种网络服务器(如http服务器或smb-server)来提供该文件。

答案 1 :(得分:1)

我只是猜测你已经找到了一种共享文件的方法,无论是使用HTTP,FTP,SMB还是NFS,但是你遇到了一些问题,也许文本中出现了一些有趣的字符。如果您没有命名要使用的编码,则将使用该计算机的默认编码,如果它们具有不同的默认值,则会遇到问题。

在编写和阅读时选择编码,例如对于UTF8通用编码,您的来源应修改为:

 BufferedReader br = new BufferedReader(new InputStreamReader(in, "UTF8"));

当您编写文件时,您当然要使用相同的编码,例如:

 FileOutputStream fos = new FileOutputStream("/path of myfile/User.txt");
 OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8");