有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java FileInputStream如何在不替换html图标的情况下读取html文件

我在本地磁盘上有一个图片文件和html文件,每当我想用本地主机打开html文件时,html格式的图片就会被本地磁盘上的图片替换掉。原因是什么?thx

String parts[] = request.split(" ");
        if(parts.length==3){
            if(parts[0].compareTo("GET")==0){
                String filename = parts[1].substring(1);
                System.out.println(filename);
                if(filename.compareTo("")==0){
                    FileInputStream defult = new FileInputStream("C:\\google.html");
                    byte byteArray[] = new byte[defult.available()];
                    while((b = defult.read(byteArray)) != -1){
                        //println(stream,"HTTP/1.1 200 OK");
                        //println(stream,"");
                        stream.write(byteArray);
                    }
                }
                else{
                    FileInputStream input = new FileInputStream("C:\\picture.jpg");
                    byte byteArray[] = new byte[input.available()];
                    while((b = input.read(byteArray)) != -1){
                        //println(stream,"HTTP/1.1 200 OK");
                        //println(stream,"");
                        sleep(1000);
                        stream.write(byteArray);
                        }
                 }

在代码中b是一个int变量,stream是FileInputStream,println是一个带有bufferedoutstream的函数。而且request会得到类似“get/HTTP/1.1”的东西 例如,当我在位置栏中键入http://localhost:8080/时,谷歌搜索图标将被替换enter image description here


共 (1) 个答案

  1. # 1 楼答案

    问题是文档必须有相对路径,而不是绝对路径。正如你所说,你只需点击Save to...。一些处理该操作的浏览器不只是保存页面源代码,它们下载所有依赖项,并将文档中的所有路径更新为指向硬盘的绝对链接。所以这不是你想要的。通过打开页面源代码并将其复制到谷歌上,尝试保存页面代码。html而不是Save to..操作