Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/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_File_Exception_Input_Output - Fatal编程技术网

Java 文件输出/输入异常

Java 文件输出/输入异常,java,file,exception,input,output,Java,File,Exception,Input,Output,这个程序在终端窗口中给我一个“异常”。prevData.txt的位置如代码所示。我有什么问题 我用的是Bluej。还有其他问题吗?请问 import java.io.*; public class prevDataReset{ public static void main(String args[]){ try{ byte bWrite [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; OutputStream os

这个程序在终端窗口中给我一个“异常”。prevData.txt的位置如代码所示。我有什么问题

我用的是Bluej。还有其他问题吗?请问

import java.io.*;

public class prevDataReset{

public static void main(String args[]){

 try{
  byte bWrite [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

  OutputStream os = new FileOutputStream("C:/prevData.txt");
  for(int x=0; x < bWrite.length ; x++){
     os.write( bWrite[x] ); // writes the bytes
  }
  os.close();

  InputStream is = new FileInputStream("C:/prevData.txt");
  int size = is.available();

  for(int i=0; i< size; i++){
     System.out.print((double)is.read() + "  ");
  }
  is.close();
  }catch(IOException e){
  System.out.print("Exception");
  } 
  }
  }
import java.io.*;
公共类prevDataReset{
公共静态void main(字符串参数[]){
试一试{
字节bWrite[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
OutputStream os=新文件OutputStream(“C:/prevData.txt”);
对于(int x=0;x
这对我很有用。我建议您没有写入“C:\”的写入权限,请尝试使用
user.dir
系统属性

类似于

public class SimpleTest {

    public static void main(String args[]) {

        OutputStream os = null;
        InputStream is = null;
        try {
            String userDir = System.getProperty("user.dir");
            byte bWrite[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

            try {
                os = new FileOutputStream(userDir + File.separator + "prevData.txt");
                for (int x = 0; x < bWrite.length; x++) {
                    os.write(bWrite[x]); // writes the bytes
                }
            } finally {
                try {
                    os.close();
                } catch (Exception e) {
                }
            }

            try {
                is = new FileInputStream(userDir + File.separator + "prevData.txt");
                int size = is.available();

                for (int i = 0; i < size; i++) {
                    System.out.print((double) is.read() + "  ");
                }
            } finally {
                try {
                    is.close();
                } catch (Exception e) {
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
公共类SimpleTest{
公共静态void main(字符串参数[]){
OutputStream os=null;
InputStream=null;
试一试{
字符串userDir=System.getProperty(“user.dir”);
字节bWrite[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
试一试{
os=新文件输出流(userDir+File.separator+“prevData.txt”);
对于(int x=0;x
执行此代码并将catch块更改为
e.printStackTrace()而不仅仅是
System.out.println(“异常”)产生了以下错误:

java.io.FileNotFoundException: C:\prevData.txt (Access is denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
    at fileexception.prevDataReset.main(prevDataReset.java:11)
java.io.FileNotFoundException:C:\prevData.txt(访问被拒绝)
在java.io.FileOutputStream.open(本机方法)
位于java.io.FileOutputStream。(FileOutputStream.java:179)
位于java.io.FileOutputStream。(FileOutputStream.java:70)
位于fileexception.prevDataReset.main(prevDataReset.java:11)
请确保目录可写/可读,然后重试。

我刚试过


import java.io.*;

public class prevDataReset {
    public static void main(String args[]){

         try{
              byte bWrite [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

              OutputStream os = new FileOutputStream("C:/prevData.txt");
              for(int x=0; x < bWrite.length ; x++){
                 os.write( bWrite[x] ); // writes the bytes
              }
              os.close();

              InputStream is = new FileInputStream("C:/prevData.txt");
              int size = is.available();

              for(int i=0; i < size; i++){
                 System.out.print((double)is.read() + "  ");
              }
              is.close();
          }
          catch(IOException e){
           System.out.print("Exception");
          }
    }
}


导入java.io.*;
公共类prevDataReset{
公共静态void main(字符串参数[]){
试一试{
字节bWrite[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
OutputStream os=新文件OutputStream(“C:/prevData.txt”);
对于(int x=0;x
而且效果很好
问题不在那段代码中


希望这有帮助。

打印stacktrace而不是“Exception”…这会更有帮助。您应该打印e.getMessage(),这可能会很方便。我看到的第一个危险信号是windows路径使用\而不是/。试试看。然后尝试将prevData与javascript文件放在同一文件夹中,并使其成为相对路径,而不是
System.out.print(“异常”),请使用
e.printStackTrace()然后发布跟踪。