Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 简单文件读写代码赢得';行不通_Java - Fatal编程技术网

Java 简单文件读写代码赢得';行不通

Java 简单文件读写代码赢得';行不通,java,Java,我创建了一个简单的文件读写程序。编译时,程序不会显示任何错误,运行时也不会出现问题,但当我尝试打开输出文件时,会出现“文件损坏”错误,文件大小为0kb import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.F

我创建了一个简单的文件读写程序。编译时,程序不会显示任何错误,运行时也不会出现问题,但当我尝试打开输出文件时,会出现“文件损坏”错误,文件大小为0kb

import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileNotFoundException;

public class Extention
{
     FileInputStream filein;
     FileOutputStream fileout;

     void asdf() throws IOException
     {
         InputStreamReader ir = new InputStreamReader(System.in);
         BufferedReader br = new BufferedReader(ir);
         System.out.print("/**");
         System.out.print("\n");
         System.out.print("* Created by Arul on 6/15/2016 *");
         System.out.print("\n");
         System.out.print("**/");
         System.out.print("\n");

         try {
            System.out.print("Enter Name of the file to read : ");
            filein = new FileInputStream(br.readLine());
            System.out.print("Enter Name of the file to write : ");
            fileout = new FileOutputStream(br.readLine());
            int i;
            do {
                i = filein.read();
                if (i == -1)
                    break;
                fileout.write(i);
            } while (i != -1);
        } catch (FileNotFoundException f) {
            System.out.println("Exception : File not found!");
        } finally {
            filein.close();
            fileout.close();
        }

    }

    public static void main(String arg[]) throws IOException
    {
        Extention d = new Extention();
        d.asdf();
    }
}
当您说“文件损坏”时,这是您在程序执行过程中遇到的Java错误,还是双击创建的文件时出现的错误


如果是后者,则完全取决于您试图复制的内容。如果您使用它来复制TXT文件,但将文件结尾改为MP3,您会发现,当您双击该文件时,您的媒体播放器将被选中打开该文本文件,并且无法理解文本数据。

在我的电脑上,它工作良好你能读写所有类型的扩展吗?在我的电脑上,它不适用于任何扩展,包括.javaI。我用
.txt
尝试了它。如果你想读取二进制文件,那么你需要使用面向字节的流来读取它们,而不是面向字符的流。在我的电脑上也可以使用Mac和Java 8。在我的电脑上,它只能在.Java到.Java之间工作,只适用于其他扩展文件损坏,这可能是因为最新更新的JDK当我单击创建的文件时,我发现文件已损坏。我试图将文件更改为txt,PDFW哪个程序正在尝试打开文件(并对此进行投诉),文件的扩展名是什么,格式是什么?ie“Notepad++正在尝试打开一个扩展名为.txt的文件,文件格式为MP3”我将文件转换为txt并尝试使用Notepad打开它,然后尝试将.java转换为pdf并尝试使用foxit打开它,在这两种情况下,我都会发现文件已损坏。您的代码中没有任何内容涉及“转换”!!您的代码所做的只是从一个文件复制到另一个文件。请注意,更改文件扩展名(即test.pdf到test.txt)不会更改文件的格式。基本上,当您将.java文件(仅为文本)更改为PDF时,Foxit会尝试打开该文件,但失败,因为它试图将该文件解释为PDF,但事实并非如此。您能告诉我如何从一种文件格式转换为另一种文件格式吗?