gpt4 book ai didi

java - fileinputstream 以特定顺序读取给定文件并存储在 byte[] 数组中

转载 作者:行者123 更新时间:2023-12-01 13:16:32 24 4
gpt4 key购买 nike

我想用java开发一个程序,其中该程序使用FileInputStream读取文件,然后分隔所有逗号(,)并将其余值存储在byte[]数组中。例如。如果我的文件 "a.txt" 包含 1,2,3,-21,-44,56,35,11我希望程序读取此文件并将数据存储在字节数组中,其中包含

byte[] b{1,2,3,-21,-44,56,35,11}.

我尝试使用 FileInputStream.read() 读取文件,但在比较逗号字符后,它指向下一个字符。谁能帮我解决一下代码。

import java.io.*;
class a
{

public static void main(String args[])
{
FileInputStream fis;
int inputSize;
try {
fis = new FileInputStream("New.txt");
inputSize = fis.available();
for(int i=0;i<inputSize;i++)
{
if(fis.read()!=44)
System.out.print((char)fis.read());
}
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}

最佳答案

这可能会帮助你:

private static final String DELIM = ",";
public static void main(String args[]) throws Exception {
// ...
// read the file content line by line with BufferedReader

String line = "5,37,2,-7";
String splitted[] = line.split(DELIM);
byte[] result = new byte[splitted.length];

for (int n = 0; n < splitted.length; ++n) {
result[n] = Byte.parseByte(splitted[n]);
}

System.out.println(Arrays.toString(result));
}

以下是逐行处理文件的方法:

    FileInputStream fis = ...;

BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
while ((line = br.readLine()) != null) {
// process the String line
}

关于java - fileinputstream 以特定顺序读取给定文件并存储在 byte[] 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22424879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com