如题所述
第1个回答 2022-12-11
java是跨平台语言,在linux上读文件跟在windows上读文件是一样的 只是文件路径不一样,可以用File对象和FileInputSteam来读取。但要注意文件编码问题。\x0d\x0a如果有中文请做适当的编码转换,通常情况下Linux的默认字符编码为UTF-8编码方式,项目可以直接采用utf8编码方式操作.用System.getProperty("file.encoding")可检查系统编码格式。可改操作系统的文件系统编码,vi /etc/profile,在文件末尾加上\x0d\x0aexport LANG="zh_CN.GBK"\x0d\x0aexport LC_ALL="zh_CN.GBK"\x0d\x0a编码转换代码:new String(files[i].getName().getBytes("GBK"),"UTF-8");\x0d\x0a\x0d\x0a文件操作的核心代码请参考下面代码:\x0d\x0a\x0d\x0aString path= "/home/";\x0d\x0apath= "/home/multiverse/Repository/PMEPGImport";\x0d\x0aFile file=new File(path);\x0d\x0aFile[] tempList = file.listFiles();\x0d\x0afor (int i = 0; i < tempList.length; i++) {\x0d\x0a if (tempList[i].isFile()) {\x0d\x0a//FileInputStream fis = new FileInputStream("fileName");\x0d\x0a\x0d\x0a//InputStreamReader isr = new InputStreamReader(fis,"utf-8");\x0d\x0aStringBuffer buffer = new StringBuffer();\x0d\x0aString text;\x0d\x0a\x0d\x0aBufferedReader input = new BufferedReader (new FileReader(tempList[i]));\x0d\x0a\x0d\x0awhile((text = input.readLine()) != null)\x0d\x0a buffer.append(text +"/n"); }\x0d\x0a\x0d\x0aif (tempList[i].isDirectory()) {\x0d\x0a System.out.println("文件夹:"+tempList[i]);\x0d\x0a }\x0d\x0a }