用java如何读取linux中的某个文件 10

现在系统的日志文件是存放在linux中的,我需要用Java开发一个分析日志的程序,我如何读取到这个文件的内容呢... 现在系统的日志文件是存放在linux中的,我需要用Java开发一个分析日志的程序,我如何读取到这个文件的内容呢 展开
 我来答
金刚钻Johnny
推荐于2018-02-24 · TA获得超过356个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:54.9万
展开全部
java是跨平台语言,在linux上读文件跟在windows上读文件是一样的 只是文件路径不一样,可以用File对象和FileInputSteam来读取。但要注意文件编码问题。
如果有中文请做适当的编码转换,通常情况下Linux的默认字符编码为UTF-8编码方式,项目可以直接采用utf8编码方式操作.用System.getProperty("file.encoding")可检查系统编码格式。可改操作系统的文件系统编码,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
编码转换代码:new String(files[i].getName().getBytes("GBK"),"UTF-8");

文件操作的核心代码请参考下面代码:

String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");

//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;

BufferedReader input = new BufferedReader (new FileReader(tempList[i]));

while((text = input.readLine()) != null)
buffer.append(text +"/n"); }

if (tempList[i].isDirectory()) {
System.out.println("文件夹:"+tempList[i]);
}
}
青焱烁
推荐于2017-11-26
知道答主
回答量:28
采纳率:0%
帮助的人:8.8万
展开全部
import java.io.*;

public class FileToString {
public static String readFile(String fileName) {
String output = "";

File file = new File(fileName);

if(file.exists()){
if(file.isFile()){
try{
BufferedReader input = new BufferedReader (new FileReader(file));
StringBuffer buffer = new StringBuffer();
String text;

while((text = input.readLine()) != null)
buffer.append(text +"/n");

output = buffer.toString();
}
catch(IOException ioException){
System.err.println("File Error!");

}
}
else if(file.isDirectory()){
String[] dir = file.list();
output += "Directory contents:/n";

for(int i=0; i<dir.length; i++){
output += dir[i] +"/n";
}
}
}
else{
System.err.println("Does not exist!");
}
return output;
}

public static void main (String args[]){
String str = readFile("/home/1.txt");

System.out.print(str);
}
}
追问
复制别人代码,不解决问题可耻!
追答
那你就自己解决咯
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jingaita
2015-07-05 · TA获得超过777个赞
知道小有建树答主
回答量:526
采纳率:50%
帮助的人:344万
展开全部
java是跨平台的 在linux上读文件跟在windows上读文件是一样的 只是文件路径不一样而已 可以用FileInputSteam来读取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiqianlq
2015-06-04 · TA获得超过115个赞
知道小有建树答主
回答量:624
采纳率:0%
帮助的人:272万
展开全部
和windwos 一样,只不过 文件 的路径 不一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式