Scanner 文字檔案讀取與處理
1.利用 java.util.Scanner 這個工具,讀取文字檔案還是比較簡單,只需要利用該類的一個構造方法 Scanner(File file),即可,需要傳入一個檔案物件,當然這就需要利用 java.io.File了,File file = new File(String location);這裡需要傳入一個檔案的地址;
2.檔案相對位置、絕對位置
在File構造方法中需要傳入檔案地址,
(1).檔案相對位置,相對與java專案的位置,如
我們需要讀取 test.txt 檔案的話,則 File file = new File(src/resource/test.txt);
(2)絕對位置
如果想要讀取F盤下work 目錄下的test.txt 檔案,則 File file = new File(“F:\work\test.txt”);3.處理讀取的內容
讀取文字檔案的內容是比較簡單的,獲取內容也比較簡單,但是處理一些比較特殊的資料,還是比較麻煩。例如:奇偶行的資料有不同作用,需要分別處理,裡面有int型別資料,還有String型別資料,每行中的每個資料之間可能有一個空格,多個空格。這樣就只能採用一行一行的讀取資料,再處理,不能直接使用 Scanner 物件的next(),nextInt(),等等的方法。4.nextLine()處理資料(split(“\s{1,}”):將多個空格當作一個空格)
需求:從一個檔案中讀取資料,需要將奇數行、偶數行的資料分別存放到不同的陣列中,而且,奇數行獲取偶數行中每個資料中間空格數不同。
資料格式:
1 23 23 32 32 43 21 23 3 43
2
3 2 43 23 1 2 3
4
5 9 8 1 2 3
6 3 4 88 99 99
程式碼實現:
package com.daxiong.day4;
import java.io.File;
import java.util.Scanner;
// 相對檔案讀取處理
public class FileReader {
public static void main(String[] args) throws Exception {
fileReader("src/resource/test.txt" );
}
public static void fileReader(String fileName) throws Exception {
File file = new File(fileName);
Scanner sc = new Scanner(file);
int rows = 1; // 記錄行數
String[] odd = new String[40]; // 奇數行資料
String[] even = new String[40]; // 偶數行資料
while (sc.hasNextLine()) {
if ((rows % 2) == 1) { // 奇數行
odd = sc.nextLine()***.split("\\s{1,}")***; // split("\\2{1,}");不論字元中間有多少個空格都當作一個空格處理
System.out.println("奇數行:" + rows);
for (int i = 0; i < odd.length; i++) {
System.out.println(odd[i]);
}
} else if ((rows % 2) == 0) { // 偶數行
even = sc.nextLine().***split("\\s{1,}***");
System.out.println("偶數行:" + rows);
for (int i = 0; i < even.length; i++) {
System.out.println(even[i]);
}
}
rows++;
}
sc.close();
}
}
相關推薦
Scanner 文字檔案讀取與處理
1.利用 java.util.Scanner 這個工具,讀取文字檔案還是比較簡單,只需要利用該類的一個構造方法 Scanner(File file),即可,需要傳入一個檔案物件,當然這就需要利用 ja
英文原始文字的讀取與處理
宣告:程式碼的執行環境為Python3。Python3與Python2在一些細節上會有所不同,希望廣大讀者注意。本部落格以程式碼為主,程式碼中會有詳細的註釋。相關文章將會發布在我的個人部落格專欄《Python自然語言處理》,歡迎大家關注。
檔案讀取與異常處理
這個是一個作業,因為對我學了三週的java來說還是感覺挺難的,所以發上來了。有不對之處還請指教,畢竟對於大神們這都是小兒科了 n實驗要求 n使用Scanner類 n讀取當前編輯的.java檔案並列印全部資訊到控制檯(選擇哪個方法列印更好?) n異常處理使用try---c
Python 檔案讀取與儲存
file1=open('pima-indians-diabetes.txt','r') file2=open('out.txt','w+') #data=file1.read() i=0 while True: line=file1.readline() tt='"'+line[
Go語言基礎(十五)—— Go語言實現json資料檔案讀取與儲存
案例: package main import ( "os" "fmt" "encoding/json" "time" ) type Person2 struct { Name string Age int Sex string Hobby []string } fun
解析文字檔案 r 與 rb 模式的區別(Python)
0. EOL(End-Of-Line)區別主要在 EOL 的處理方式不同。對於不同的作業系統而言,Unix:\nMac:\rWindows:\r\n對於 Python 語言,通過如下語句進行查詢:>> import os>> os.linese
Unity 檔案讀取與寫入
Resources.LoadAssetAtPath(); 僅限於在編輯器內使用 Build後出來的的所有AssetDatabase.LoadAssetAtPath();的返回值都為null;不建議使用。呼叫路徑為:Assets\Resources\A.FBXRes
基於哈夫曼編碼的文字檔案壓縮與解壓縮
基於哈夫曼編碼實現檔案壓縮 是在學習資料結構(嚴蔚敏版)書中哈夫曼樹及其應用後對書中虛擬碼的實現和完善,採用哈夫曼靜態編碼的方式,通過對資料進行兩遍掃描,第一次統計出現的字元頻次,進而構造哈夫曼樹,第二遍掃描資料根據得到的哈夫曼樹對資料進行編碼。 對於其中的
C++中文字檔案讀取優化-使用緩衝
C++中可以採用stream讀取文字檔案,基本方式是一次一行,程式設計簡潔易行,比用C方便多了。但是,凡事有利有弊,當檔案行數較多時,檔案讀取IO次數就會隨之增加,檔案讀取的時間會急劇增長。因為檔案IO的時間要遠大於CPU在記憶體中處理資料的時間,假如IO時間是毫秒級
C/C++從文字檔案讀取資料
本文主要是利用C函式fread、fwrite、fscanf以及C++檔案流ifstream、ofstream等函式從檔案讀寫。 #include <stdio.h> #include <stdlib.h> #include <iostr
一個解決unity3d 多平臺下完美本地文字檔案讀取的方法
http://blog.csdn.net/hpsoft/article/details/8227255 unity3d可以把遊戲釋出在很多遊戲平臺下,但unity3d在不同的執行平臺下,本地檔案路徑是不一樣的,這樣給我們用給應用配置的本地文字檔案的讀取帶來不小的麻煩,要
IO流(文字檔案讀取練習)
//讀取一個.java檔案,並列印在控制檯上 import java.io.*; class FileReaderTest { public static void main(String[] args) throws IOException {
【C/C++】檔案讀取與資料庫讀取速率對比
由於開發物流資訊網,關於這個問題也是最近才想到的,就是到底讀檔案更快還是讀資料庫更快,能快多少,書生也搜尋過,沒見有網友就這個問題答覆過,也可能是太簡單的緣故,我們本文還是來實測一下,由於時間關係,VC還沒裝,書生先用PHP測試了一下,下次有時間在C/C++上補充測試到本
剪貼簿上文字的讀取與寫入
{ HGLOBAL clipbuf; char* buf; EmptyClipboard(); clipbuf = GlobalAlloc(GMEM_DDESHARE, strClip.GetLength()+1); buf = (char*)GlobalLock(clipbuf
CSharp檔案讀取與寫入入門圖解
C#是微軟公司釋出的一種面向物件的、運行於.NET Framework之上的高階程式設計語言。並定於在微軟職業開發者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、介面、與Ja
C/C++ 影象處理(15)------DXF檔案の讀取、繪圖與顯示
關於DXF檔案的讀取自幾年前做專案的時候就用到了,不過當時是另外一個朋友負責的就沒在意,直至最近的專案又要用到方才自己動手去弄。 因為幾年前專案的程式碼還在,因此看了下發現之前朋友是用dxflib開源庫實現的,因此也用了同樣的庫。 上網一查發現資料相當少,因
我的Qt學習之路——文字檔案的讀取與寫入
為了能較好應用檔案的讀取與寫入,我編寫了一個簡易的文字編輯器 首先,先編寫新建功能: 先在mainwindow.h裡新增新建功能槽函式的宣告: private slots: void ne
【C#】對文字、圖片、音訊檔案的讀取與寫入
對於檔案的儲存都採用流(System.IO.Stream)形式儲存與讀取 1.檔案流——FileStream 包括: StreamWriter和 BinaryWriter 2.快取流——BufferStream 3.記憶體流——MemoryStream 4.網路流——Net
用python讀取文字資訊,進行處理,寫到另一檔案中
題目:把歌詞轉化成一句話一行的文字且不包含標點符號思路:開啟檔案位置,讀取檔案中所有資訊以列表形式展示,把列表轉化成字串,去除裡面的所有空格回車符號。(是為了讓資訊以歌詞形式展開,一句話一行)用正則表示式去除掉裡面所有的標點符號,放入列表中。遍歷列表中的資訊,放到另一個檔案中