当前位置:首页 » 编程语言 » javalinux读取文件

javalinux读取文件

发布时间: 2022-04-27 11:50:05

java程序怎样读取linux系统下的文件

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]);
}
}

㈡ Java:为什么在Linux中读取文件的顺序有差异呢

这个跟系统的底层实现有关系。

㈢ Linux下使用Java读取文件,路径格式问题!

linux下文件路径都是“/”开始的,可以通过changeWorkingDirectory方法来进行路径的切换,举例:
**
* 上传文件
*
* @param fileName
* @param plainFilePath 文件路径路径
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByftp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密上传文件开始");
Log.info("连接远程上传服务器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("检查文件路径是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查询文件路径不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上传文件成功:"+fileName+"。文件保存路径:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
备注:只需要修改上传的服务器地址、用户名、密码即可进行服务器访问上传。根据实际需要修改即可。

㈣ java怎样读取文件所有内容,主要是跳行问题谢谢了

1.nextint()等一系列类似的从控制台取数字的操作,都与一个共性 就是“只取数字”部分。什么意思呢,当控制台提示你输入数字时 比如你
输入:123(回车) ,这实际的字符串是:在windows平台上:123\r\n;在linux平台上是:123\n。而我们的
nextint() 只接受了 数字 123 而 “回车”字符却仍然在缓冲区中,则现在使用nextline()时发现,用户根本没有输入,就执行过去
了这个语句,因为程序自动把上个缓冲中的“回车”字符串内容赋值给了nextline(),恰好 nextline() 又是一“\r\n”作为分界标志
的,所以nextline()中的内容就是一个空字符“”。

2.解决方法:
1).不使用 nextint() ,使用 integer.parseint(scanner.nextline());
2).或者在每个nextint()后多加上一个nextline(),让他来消除掉nextint()中留下的“回车”
3.你的代码可改为:
score = input.nextint();
input.nextline();
scores.add(score);
//或者
score = integer.parseint(input.nextline());

㈤ Linux下,java 读取中文文件(文件夹)名的问题

通常情况下,linux都是采用utf8编码方式,你的项目可以直接采用utf8编码方式操作,一般都不会乱码

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

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]);
}
}

㈦ linux 下java读取配置文件

  1. 如果是相对路径无论windows还是linux都是一样的。

  2. 如果是绝对路径,只需要看好配置文件所在linux的目录,其他的操作和windows一样(例如:linux【/usr/local/src/1.config】,windows【c:/1.config】)

  3. 使用File就可以直接读取了。

㈧ 怎样用 java读取txt文件中的数据 linux下

try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("文件路径")));
for (String line = br.readLine(); line != null; line = br.readLine()) {
System.out.println(Integer.parseInt(line));
}
}catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}

㈨ java读取linux下文件名乱码

Linux下读取文件名乱码可能的原因是:
1.linux系统默认编码不支持中文字符

2.文件名本身是乱码

解决方案是在读取文件名的时候,要进行显式的编码转换如下:

FileInputStreamfis=newFileInputStream("fileName");
InputStreamReaderisr=newInputStreamReader(fis,"utf-8");
热点内容
光遇无翼号怎么弄安卓 发布:2025-07-15 10:45:59 浏览:365
什么是法人账号密码 发布:2025-07-15 10:34:59 浏览:876
编程题抽奖 发布:2025-07-15 10:34:00 浏览:629
linux手动编译的内核怎么删 发布:2025-07-15 10:31:56 浏览:96
存储行业发展趋势 发布:2025-07-15 10:25:22 浏览:243
怎么删除配置提示 发布:2025-07-15 10:21:27 浏览:246
java深入学习 发布:2025-07-15 10:13:50 浏览:535
linux应用程序开发pdf 发布:2025-07-15 10:11:37 浏览:912
解压冷知识 发布:2025-07-15 10:11:35 浏览:79
outlook邮件的服务器是什么 发布:2025-07-15 09:45:59 浏览:483