Capricornus Gold Snake 2023-10-05 20:56 采纳率: 66.7%
浏览 7
已结题

问题是java io流中字节流问题

问题是java io流中字节流问题


public class IOTest {
    public static void main(String[] args) {
        try {
            InputStream is = new FileInputStream("D:\\JavaIDEA\\IDEADaiMa\\move-app\\src\\a.txt");
            // 错误处InputStream is = new FileInputStream("move-app\\src\\a.txt");

            byte [] buffer = new byte[3];
            int len ;

            while ((len = is.read(buffer)) != -1){
                System.out.println(len);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

绝对路径下可以找到文件 如果换成相对路径就找不到文件


java.io.FileNotFoundException: move-app\src\a.txt (系统找不到指定的路径。)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:216)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:111)
    at com.zhang.IODemo.IOTest.main(IOTest.java:17)

img

img

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-08 12:06
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    问题出在这一行代码上:

    InputStream is = new FileInputStream("move-app\src\a.txt");

    在Java中,相对路径是相对于当前工作目录而言的。当你使用相对路径时,Java会将当前工作目录添加到相对路径前面,以构建完整的路径。因此,在你的代码中,Java会将当前工作目录添加到"move-app\src\a.txt"前面。

    所以实际上Java会查找这个路径:

    当前工作目录 + "move-app\src\a.txt"

    但是根据你的错误信息显示,Java找不到这个路径。这是因为当前工作目录不一定是你期望的路径。

    如果你想使用相对路径,可以尝试以下几种方法:

    1. 使用相对当前Java文件的路径:
      InputStream is = new FileInputStream("src\a.txt");

    2. 使用相对当前工作目录的路径:
      在运行Java代码的时候,切换到你希望作为当前工作目录的文件夹,然后运行代码。

    3. 使用绝对路径:
      InputStream is = new FileInputStream("D:\JavaIDEA\IDEADaiMa\move-app\src\a.txt");

    请注意,无论使用相对路径还是绝对路径,确保确保指定的文件路径是正确的。如果文件不存在或者路径错误,你仍然会收到相应的错误信息。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月17日
  • 已采纳回答 10月9日
  • 创建了问题 10月5日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表