标签: filereader

为什么我的阅读器输出方形符号?

我正在关注一些教程视频并学习如何使用 java 读取文件。在此示例中,讲师创建一个大小为 100 的 char 数组,然后使用 FileReader 类读取文本文件并将字符放入 char 数组中,然后 System.out 该数组到控制台。我的代码与讲师相同,但我的输出包含方形符号来填充 100 个字符数组,而讲师输出正确显示字符数组。

这是代码片段和输出

import java.io.*;

public class MSReader
{

    public static void main(String[] args)
    {
        // the character stream lasses when working
        // with char or strings [ reader, writer]
        
        char[] array = new char[100];
        
        try 
        {
            Reader reader = new FileReader(
                "C:\\Users\\ricky\\OneDrive\\Desktop - Lenovo Laptop\\test\\InputStreamExample.txt");
            // check if reader is ready
            System.out.println("Ready: " + reader.ready());
            // reading the characters
            reader.read(array);
            System.out.println("Data in the stream: ");
            System.out.println(array); …
Run Code Online (Sandbox Code Playgroud)

java arrays char filereader

2
推荐指数
1
解决办法
74
查看次数

C#中的FileReader类

我正在寻找用于处理文本文件的快速类,并能轻松读取不同的对象(诸如NextInt32,NextDouble,NextLine等方法)。你能给我一些建议吗?

编辑:在我的情况下BinaryReader是坏类。我的数据格式不是二进制。我有像

1 2 3
FirstToken NextToken
1.23 2,34
Run Code Online (Sandbox Code Playgroud)

我想用如下代码读取该文件:

int a = FileReader.NextInt32();
int b = FileReader.NextInt32();
int c = FileReader.NextInt32();
int d = FileReader.NextString();
int e = FileReader.NextString();
int f = FileReader.NextDouble();
int g = FileReader.NextDouble();
Run Code Online (Sandbox Code Playgroud)

Edit2:我正在从Java寻找模拟扫描仪

.net c# filereader

1
推荐指数
1
解决办法
1万
查看次数

Java FileReader的问题

您好我的代码中有这个

File file = new File("words.txt");
    Scanner scanFile = new Scanner(new FileReader(file));
    ArrayList<String> words = new ArrayList<String>();

    String theWord;    
    while (scanFile.hasNext()){
        theWord = scanFile.next();
        words.add(theWord);
    }
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,我得到了一个

java.io.FileNotFoundException

我将words.txt文件放在与所有.java文件相同的文件夹中

我究竟做错了什么?谢谢!

java text-files filereader

1
推荐指数
2
解决办法
2999
查看次数

Android中的文本文件的FileReader

美好时光!

我的Android应用程序试图使用通常的Java组合读取简单的文本文件

FileReader fr = new FileReader("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(fr);
Run Code Online (Sandbox Code Playgroud)

但是,无论我做什么,我都会找到File not Found exeption,尽管此目录中还有另一个html文件,并且正确显示在WebView中.
所以,我的问题是:
FileReader可用于简单阅读文本文件或我必须使用InputStream?

android file-not-found filereader

1
推荐指数
3
解决办法
2万
查看次数

是否可以仅使用FileReader从文件中读取?

我知道正确的方法是

BufferedReader br = new BufferedReader(FileReader(file));
Run Code Online (Sandbox Code Playgroud)

但是我在Java API中检查了FileReader类的方法,并且它有一个read()返回字符读取的方法.但这对我不起作用.我正在读取包含这行文本的文件:"我正在读取文件",并将其打印到屏幕上,但是当我运行程序时,它会为每个字符打印等效的ASCII代码.

这是我的代码:

String lectura = "";
try{
    lectura = String.valueOf(fr.read());
} catch(IOException ioex){
    ioex.printStackTrace();
}

while((Integer.parseInt(lectura)) != -1){
    System.out.print(lectura);
    try{
        lectura = String.valueOf(fr.read());
    } catch(IOException ioex){
        ioex.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

java filereader

1
推荐指数
1
解决办法
2268
查看次数

等待加载文件(onload JavaScript)

我想从文件中读取文本并将其返回到函数中.所以这是我的代码的重要部分:

        function getFileRequest(id, contentType, callback) {
        var val = "x";      

        if (window.File && window.FileReader && window.FileList && window.Blob) {
            var element = document.getElementById(id);

            var file = element.files[0]; 
            if(file != null) {      
                if(file.type.match("text/xml")){
                    var r;
                    r = new FileReader();

                    r.onload = function (e) {
                        val = e.target.result;                    

                    }                   
                    r.readAsText(file);
                }
                else
                    alert("Wrong file format");
            }

        } else {
            alert('The File APIs are not fully supported by your browser.');
        }

        alert(val);
        if(val == null)
                return "";
            else
                return getRequestBody(id,contentType,val);  

    }
Run Code Online (Sandbox Code Playgroud)

我想将文本传递给名为"val"的变量.但是,至少在我看来,alert(val)总是显示默认的"x",因为可能它不等待onload函数被执行.我是对的吗?那么如何才能访问该文本?有没有办法等待执行?

javascript file onload filereader wait

1
推荐指数
1
解决办法
2万
查看次数

在socket上将数据写入缓存而不是磁盘

我知道" fileReader"和" fileWriter"可以从套接字之间的磁盘传输中读写文件.但是,我想从套接字接收文件并将它们写入缓存而不是磁盘.

有功能可以做到吗?

java filereader filewriter

1
推荐指数
1
解决办法
399
查看次数

从localStorage将文件发布到PHP $ _FILES

很难找到明确的答案,我95%肯定我想要达到的目标是不可能的,但是这里有:

前:
我有一个multipart/form-data上传表格.用户选择文件,但必须先登录才能发布表单.用户可以通过Twitter登录.如果他在选择文件后这样做,由于重定向到Twitter或从Twitter重定向,文件输入将为空.

返回:
我有一个PHP脚本使用该$_FILES数组将上传的文件移动到其最终目的地.(我的问题的解决方案是在重定向到Twitter之前将文件保存到临时文件夹,但我目前无法设置它).

问题:
我可以使用FileSystem API将所选文件存储在localStorage中(至少在现代浏览器中).但我显然不能把它放回输入元素中.现在我不知所措:有没有办法将我的localStorage中的文件导入到PHP $ _FILES数组中?

javascript php filereader local-storage

1
推荐指数
1
解决办法
222
查看次数

即使已初始化,也会出现"可变数据未初始化"错误

我有一段时间没有碰过Java,所以我对一些细节有点生疏.

我试图从一个充满数字的文件中读取所有自己的行.文件中的第一个数字告诉我文件中有多少其他数字,所以我可以适当调整我的数组大小.我试图获取这些数字,并将它们放在一个int数组中,但我在return语句中不断收到"错误:可变数据可能尚未初始化".我知道这必须是简单的事情,但我不能为我的生活找出我做错的简单事情.

public static int[] numbers(String filename)
{
    int[] data;

    try
    {
        FileReader input = new FileReader(filename);
        BufferedReader buffer = new BufferedReader(input);

        int arraySize = Integer.parseInt(buffer.readLine());
        data = new int[arraySize];

        for (int x = 0; x < arraySize; x++)
        {
            data[x] = Integer.parseInt(buffer.readLine());
        }

        buffer.close();
    }

    catch(Exception e)
    {
        System.out.println("Error reading: "+e.getMessage());
    }

    return data;
}
Run Code Online (Sandbox Code Playgroud)

java arrays filereader

1
推荐指数
1
解决办法
382
查看次数

我无法读取.txt中的所有数字

我正在尝试平均一个包含1000万个数字的文件,每行只有一个数字。我创建了一个名为getAverage()的方法,该方法返回一个double。这是代码:

public double promedioDouble() throws IOException
    {
        double adder = 0;
        int counter = 0;
        try{
                file = new FileReader(filePath);
                reader = new BufferedReader(file);
                while(reader.readLine()!=null)
                {
                    adder+=Double.parseDouble(reader.readLine());
                    counter++;
                }

            }
        catch (IOException e) 
        {
              System.out.println("cant read");
        }
        finally {
            if (file != null) file.close();
        }             
        return adder/counter;
    }

Run Code Online (Sandbox Code Playgroud)

我打印了计数器,结果显示为5.000.000,我不知道为什么读者无法读取文件中包含的1000万个数字,而它只能读取一半。我需要帮助。

java filereader bufferedreader

1
推荐指数
1
解决办法
52
查看次数