1. 程式人生 > >Scanner 文字檔案讀取與處理

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++中文字檔案讀取優化-使用緩衝

    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讀取文字資訊,進行處理,寫到另一檔案

題目:把歌詞轉化成一句話一行的文字且不包含標點符號思路:開啟檔案位置,讀取檔案中所有資訊以列表形式展示,把列表轉化成字串,去除裡面的所有空格回車符號。(是為了讓資訊以歌詞形式展開,一句話一行)用正則表示式去除掉裡面所有的標點符號,放入列表中。遍歷列表中的資訊,放到另一個檔案中