编写java应用程序,使用fileinputstream类对象读取程序本身(或其他目录下的文件)到字节数组中,并显示在屏幕上(或存储为其他文件)。
时间: 2023-05-31 21:20:40 浏览: 140
### 回答1:
可以使用以下代码编写Java应用程序,使用FileInputStream类对象读取程序本身(或其他目录下的文件)到字节数组中,并显示在屏幕上或存储为其他文件:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFileToByteArray {
public static void main(String[] args) {
try {
// 读取文件到字节数组中
File file = new File("path/to/file");
FileInputStream fis = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
fis.read(bytes);
fis.close();
// 将字节数组显示在屏幕上
System.out.println(new String(bytes));
// 将字节数组存储为其他文件
// File outputFile = new File("path/to/output/file");
// FileOutputStream fos = new FileOutputStream(outputFile);
// fos.write(bytes);
// fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,需要将"path/to/file"替换为要读取的文件路径。如果要将字节数组存储为其他文件,可以取消注释相关代码,并将"path/to/output/file"替换为要输出的文件路径。
### 回答2:
要编写Java应用程序,使用FileInputStream类对象来读取程序本身(或其他目录下的文件)到字节数组中,并显示在屏幕上或存储为其他文件,需要按照以下步骤进行操作:
1. 创建一个 FileInputStream 类对象
首先,需要创建一个FileInputStream 类对象来读取文件。可以使用任何可以访问到文件的路径,如绝对路径或相对路径。例如,以下代码会创建一个FileInputStream类对象,用于读取当前目录下的文件test.txt:
FileInputStream fis = new FileInputStream("test.txt");
2. 读取文件内容到字节数组中
一旦文件已经被打开,可以使用read()方法,将文件内容一次一个字节地读取到字节数组中。可以使用一个循环来重复这个过程,直到全部内容被读取。以下代码将会将test.txt中的内容读取到字节数组中:
byte[] fileContent = new byte[fis.available()];
fis.read(fileContent);
这段代码首先创建了一个byte类型的数组,其大小与文件大小相同。然后,使用available()方法获取文件的大小,以便为数组分配足够的空间。最后,read()方法从文件中读取字节,并将它们存储在数组中。
3. 显示字节数组内容
一旦文件内容已经被读取到字节数组中,可以使用数组的toString()方法来将其转换为一个字符串,并将其打印到控制台上:
System.out.println(Arrays.toString(fileContent));
您也可以通过将字节数组转换为字符串并将其显示在用户界面上,来显示文件内容。
4. 存储文件内容到其他文件中
如果希望将文件内容存储到另一个文件中,需要创建一个新的FileOutputStream类对象,并使用write()方法将字节数组写入到该文件中。以下代码会将文件内容存储到新的文件output.txt中:
FileOutputStream fos = new FileOutputStream("output.txt");
fos.write(fileContent);
fos.close();
通过这些步骤,便可以简单地编写Java应用程序,用于读取文件并显示或保存其内容。
### 回答3:
编写Java应用程序,使用FileInputStream类对象读取程序本身(或其他目录下的文件)到字节数组中,并显示在屏幕上(或存储为其他文件),需要进行以下步骤:
1. 创建一个FileInputStream对象,用于读取文件。
2. 创建一个ByteArrayOutputStream对象,用于将读取的字节流存储为字节数组。
3. 使用while循环,读取文件内容并将其写入ByteArrayOutputStream对象中,直到文件结束。
4. 使用toByteArray方法,将ByteArrayOutputStream中存储的字节流转换为字节数组。
5. 可以选择将字节数组的内容显示在屏幕上,也可以将其存储到其他文件中。
示例代码如下:
```java
import java.io.FileInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ReadFileToByteArray {
public static void main(String[] args) {
try {
// 读取当前程序的字节流
FileInputStream fis = new FileInputStream("ReadFileToByteArray.class");
// 创建一个ByteArrayOutputStream对象
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
// 读取文件内容,并写入ByteArrayOutputStream对象中
int length;
while ((length = fis.read(buffer)) != -1) {
baos.write(buffer, 0, length);
}
// 将ByteArrayOutputStream中存储的字节流转换为字节数组
byte[] byteArray = baos.toByteArray();
// 输出字节数组
System.out.println(new String(byteArray));
// 关闭文件流和ByteArrayOutputStream
fis.close();
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
该程序将当前程序(ReadFileToByteArray.class)的字节流读取到字节数组中,并将其输出到屏幕上。如果要将字节数组保存为其他文件,可以创建一个FileOutputStream对象,并使用write方法将字节数组写入文件中。