相关疑难解决方法(0)

用Java读取纯文本文件

似乎有不同的方法来读取和写入Java中的文件数据.

我想从文件中读取ASCII数据.可能的方式和差异是什么?

java file-io ascii

908
推荐指数
16
解决办法
229万
查看次数

Java:如何读取文本文件

我想读取包含空格分隔值的文本文件.值是整数.如何阅读并将其放入数组列表?

以下是文本文件内容的示例:

1 62 4 55 5 6 77
Run Code Online (Sandbox Code Playgroud)

我想把它放在一个arraylist中[1, 62, 4, 55, 5, 6, 77].我怎么能用Java做呢?

java file-io arraylist text-files

81
推荐指数
5
解决办法
50万
查看次数

通过多个线程访问文件

我想通过10个线程访问一个大文件(文件大小可能从30 MB到1 GB),然后处理文件中的每一行,并通过10个线程将它们写入另一个文件.如果我只使用一个线程来访问IO,则其他线程被阻止.处理花费一些时间几乎相当于从文件系统中读取一行代码.还有一个约束,输出文件中的数据应与输入文件的数据顺序相同.

我想要你对这个系统的设计有所了解.是否有任何现有的API支持并发访问文件?

写入同一文件也可能导致死锁.

如果我关心时间限制,请建议如何实现这一点.

java concurrency file

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

使用Multiple Thread读取单个文件:应该加快速度吗?

我正在读一个包含500000行的文件.我正在测试看多个线程如何加速进程....

private void multiThreadRead(int num){

    for(int i=1; i<= num; i++) { 
        new Thread(readIndivColumn(i),""+i).start(); 
     } 
}

private Runnable readIndivColumn(final int colNum){
    return new Runnable(){
        @Override
        public void run() {
            // TODO Auto-generated method stub
            try {

                long startTime = System.currentTimeMillis();
                System.out.println("From Thread no:"+colNum+" Start time:"+startTime);

                RandomAccessFile raf = new RandomAccessFile("./src/test/test1.csv","r");
                String line = "";
                //System.out.println("From Thread no:"+colNum);

                while((line = raf.readLine()) != null){
                    //System.out.println(line);
                    //System.out.println(StatUtils.getCellValue(line, colNum));
                }


                long elapsedTime = System.currentTimeMillis() - startTime;

                String formattedTime = String.format("%d min, %d sec",  
                        TimeUnit.MILLISECONDS.toMinutes(elapsedTime), 
                        TimeUnit.MILLISECONDS.toSeconds(elapsedTime) …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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