2016-04-08 11 views
-1

sütunundaki değerleri değiştirin. Java'da yeni başlayan kişiyim, senaryo yazım satırındaki metni okumak ve o sütundaki belirli bir kaydı değiştirmek. Şimdiye kadar sahip olduğum şey metin dosyasından bir satır okumak.Java. Bir metin dosyasındaki Çizgi ve sütunları okuyun ve

Soru: Sütunun değerlerini değiştirmenin bir yolu var mı? Herhangi bir yardım takdir edilecektir

public static String readLineNum(String sBatchForm, int numLine) throws Exception { 

    FileInputStream fs= new FileInputStream("C:/myFile"+ sBatchForm +"_Modified.txt"); 
    BufferedReader br = new BufferedReader(new InputStreamReader(fs)); 

    String lineIWant = ""; 

    for(int i = 0; i < numLine; ++i) { 
    lineIWant = br.readLine(); 

    } 

    Log.info(lineIWant); 
    return lineIWant; 


} 

:

aşağıda kodumu bakınız.

Teşekkür ederiz!

+1

52 temsilciniz var ve bu nedenle artık bu sorunun daha da iyileştirilmesi gerektiğini bilmelisiniz. Yazıldığı gibi, bir iş emrinden biraz daha fazlası - lütfen bunu geçerli bir soruya, girişimi gösteren bir soruya ve bu konuyla ilgili *** özel bir soruyu sorar. –

+0

Not alındı. Bunun için özür dilerim. – user3713453

cevap

2

Dürüst bu kullanım için bir metin dosyası onun değer muhtemelen daha sorun kullanılarak, sen Snake YAML veya JSON Simple gibi bir kitaplığı kullanarak daha iyi olurdu, bu tür dosyaları çok daha uygun verileri depolamak için geçerlidir, öğreticiler yığınları vardır Bu kütüphane için de.

+1

Girişler için teşekkürler! – user3713453

0

String.split numarasını kullanarak bir dizgeyi bir sınırlayıcıya göre "sütunlar" şeklinde kesebilirsiniz.

Dosya sekmeyle ayrılmış sekmelerde bölünmüşse ve dizi konumunu istediğiniz değere değiştirin. Bu arada

// tab delimited string 
String line = "foo\tbar\tsome\tamount"; 
// split the string around the tabl into an array 
String[] columns = line.split("\t"); 
// changed the 3rd value to xyz 
columns[2] = "xyz"; 
// join the string array back into a tab delimited string 
String newLine = String.join("\t", columns); 
assert newLine.equals("foo\tbar\txyz\tamount") 

, bu yapıyorsun şey tür için gayet bir sekme ayrılmış metin dosyası gibi görünüyor.

İlgili konular