gpt4 book ai didi

java - 文件对象是否支持所有文件(键盘、目录、文件等)?

转载 作者:行者123 更新时间:2023-11-30 10:36:50 24 4
gpt4 key购买 nike

在 Linux 中,一切都是文件:键盘、目录、文本文件、USB 设备等。

在 java 中,如果我使用 File 对象接收键盘之类的东西(或任何不是您典型的"file"的东西)会发生什么。它能工作吗?如果不能,怎么会这样?

如果它可行,我能用它做任何重要的事情吗?还是有限制?

最佳答案

是的,Java File类对所有文件的工作方式相同。它还适用于目录(对于 true 将返回 isDirectory)和键盘和 USB 设备等特殊文件(对于 false 将返回 isFile)。

FileReader , FileInputStream , 以及类似的类将适用于常规文件和特殊文件,但不适用于目录。

例如,这是一个简单的程序(为简单起见删除了错误处理),它从“/dev/random”设备读取随机字节并将它们写入“/dev/dsp”的音频输出。 (声音又大又可怕,注意你的耳朵!)

import java.io.*;

public class Main {
public static void main(String[] args) throws Exception {
File random = new File("/dev/random");
File audio = new File("/dev/dsp");

InputStream in = new FileInputStream(random);
OutputStream out = new FileOutputStream(audio);

while (true) {
out.write(in.read());
}
}
}

需要记住的是,像这样的“特殊”文件通常不允许您查找,即在文件中前进和后退。例如,您无法阅读他们键盘在十分钟后发送的内容。

关于java - 文件对象是否支持所有文件(键盘、目录、文件等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40423781/

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