Input/Output Hochkommas ohne Inhalt ignorieren .csv

fget

Mitglied
Hi hoffe ihr könnt helfen, ist auch nur ne kurze frage. Ich habe eine vorgegebene .csv datei die mit Inhalt in folgendem Format geschrieben ist:

"","Aldo","","Aufdenblatten","","Bank Julius Baer & Co. Ltd.","","","

Dementsprechend gibt mir NetBeans folgendes beim einlesen in der Command-Zeile aus:

Zeile # 2, Zeichen(Nummer) # 1, Zeichen : ""
Zeile # 2, Zeichen(Nummer) # 2, Zeichen : "Aldo"
Zeile # 2, Zeichen(Nummer) # 3, Zeichen : ""
Zeile # 2, Zeichen(Nummer) # 4, Zeichen : "Aufdenblatten"
Zeile # 2, Zeichen(Nummer) # 5, Zeichen : ""
Zeile # 2, Zeichen(Nummer) # 6, Zeichen : "Bank Julius Baer & Co. Ltd."
Zeile # 2, Zeichen(Nummer) # 7, Zeichen : ""
Zeile # 2, Zeichen(Nummer) # 8, Zeichen : ""
Zeile # 2, Zeichen(Nummer) # 9, Zeichen : "Hohlstrasse 608"

So nun meine Frage: Wie kann ich die doppelten hochkommas also "" ohne Inhalt ignorieren, sodass nur gefüllte Hochkommas (der Inhalt) angezeigt wird?

Mein bisheriger kompletter Quelltext:

Java:
package phonebook2;

import au.com.bytecode.opencsv.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;

public class Main{
    
     
public static void main( String[]arg){
            try

                {
                        String strFile = "Outlook_Contacts.csv";

                        BufferedReader br = new BufferedReader( new FileReader(strFile));
                        String strLine = "";
                    
                        StringTokenizer st = null;

                        int lineNumber = 0, tokenNumber = 0;
                        
                        
                        
                        
                        //Komma getrennte lesen (Zeile für Zeile)

                        while( (strLine = br.readLine()) != null)

                        {
                            lineNumber++;
                            
                                //Pausenkomma separiert Die Lines ---> ","

                                st = new StringTokenizer(strLine, ",");

                               

                                while(st.hasMoreTokens())

                                {

                                        //zeigt sozusagen den CSV-Wert

                                        tokenNumber++;

                                        System.out.println("Zeile # " + lineNumber +

                                                        ", Zeichen(Nummer) # " + tokenNumber

                                                        + ", Zeichen : "+ st.nextToken());

                               }

                                        tokenNumber = 0;    //Zeichen bzw. Token Nummer zurücksetzen

                               }
                        }

                catch(Exception e) //Beim Eintritt eines Fehlers gibt "e" den Inhalt
                                   //des Fehlers(Vom System) an System.out.println weiter.

                {

                        System.out.println("Fehler beim Lesen der CSV-Datei: " + e);

                }

        }

     }

So hoffe ihr könnt mir helfen. Wäre für Antworten sehr Dankbar (Quelltext evtl. wär auch super). ;) :toll:
 
M

Marcinek

Gast
So wie du das machst, kannst du einfach die hochkomma mit strReplace() entfernen.

oder den subString einfach nehmen und bearbeiten.
 
M

Marcinek

Gast
Du siehst doch, wo die Hochkomma ausgegeben werden oder?

Dann googelst du nach "java string substring" und dann siehst du doch, welche Parameter das Ding hat oder nicht?

Oder soll ich das nun für dich machen?
 

fget

Mitglied
Danke, bin jetzt schon von dem Forum begeistert. Ich bemühe mich hier etwas zu machen und man bekommt nichtmal einen kleinen Rat, in dem Fall einen klitze kleinen Quellcode Schnippsel oder zumindest mal eine Antwort welche Parameter ect. . Aber ich weiß schon, der Anfänger-Trottel soll sich den ganzen Tag mit Googlen beschäftigen.
 
M

Marcinek

Gast
Zum Programmieren gehört Eigeninitative. Ein Forum ist keine "Lösungsmaschinerie".

Ich persönlich gehe den Weg: Hilfe zur Selbsthilfe. Und habe absolut kein Mitleid mit Anfängern, wenn sie hier ein wenig rumweinen.

---

Du hast 10 Zeilen Quellcode und kannst mir da drin nicht sagen, wo irgentwas ausgegeben wird??

Du hast selber geschrieben "//zeigt sozusagen den CSV-Wert".

Java:
 System.out.println("Zeile # " + lineNumber +
 
                                                        ", Zeichen(Nummer) # " + tokenNumber
 
                                                        + ", Zeichen : "+ st.nextToken());

Du hast das geschrieben und sagst damit "keine Ahnung was da steht"
 
T

TryToHelp

Gast
Java:
package phonebook2;
 
import au.com.bytecode.opencsv.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;
 
public class Main{
    
     
public static void main( String[]arg){
            try
 
                {
                        String strFile = "Outlook_Contacts.csv";
 
                        BufferedReader br = new BufferedReader( new FileReader(strFile));
                        String strLine = "";
                    
                        StringTokenizer st = null;
 
                        int lineNumber = 0, tokenNumber = 0;
                        
                        
                        
                        
                        //Komma getrennte lesen (Zeile für Zeile)
 
                        while( (strLine = br.readLine()) != null)
 
                        {
                            lineNumber++;
                            
                                //Pausenkomma separiert Die Lines ---> ","
 
                                st = new StringTokenizer(strLine, ",");
 
                               
 
                                while(st.hasMoreTokens())
 
                                {
 
                                        //zeigt sozusagen den CSV-Wert
 
                                        tokenNumber++;
//----- code to insert
String readed=st.nextToken();
 if (readed.equals("\"\""){
}else{ 
 
                                        System.out.println("Zeile # " + lineNumber +
 
                                                        ", Zeichen(Nummer) # " + tokenNumber
                                                                             //----code to change
                                                        + ", Zeichen : "+ readed);
//------ code to insert
}
 
                               }
 
                                        tokenNumber = 0;    //Zeichen bzw. Token Nummer zurücksetzen
 
                               }
                        }
 
                catch(Exception e) //Beim Eintritt eines Fehlers gibt "e" den Inhalt
                                   //des Fehlers(Vom System) an System.out.println weiter.
 
                {
 
                        System.out.println("Fehler beim Lesen der CSV-Datei: " + e);
 
                }
 
        }
 
     }
 
T

TryToHelp

Gast
oder so
Java:
package phonebook2;
 
import au.com.bytecode.opencsv.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;
 
public class Main{
    
     
public static void main( String[]arg){
            try
 
                {
                        String strFile = "Outlook_Contacts.csv";
 
                        BufferedReader br = new BufferedReader( new FileReader(strFile));
                        String strLine = "";
                    
                        StringTokenizer st = null;
 
                        int lineNumber = 0, tokenNumber = 0;
                        
                        
                        
                        
                        //Komma getrennte lesen (Zeile für Zeile)
 
                        while( (strLine = br.readLine()) != null)
 
                        {
                            lineNumber++;
                            
                                //Pausenkomma separiert Die Lines ---> ","
 
                                st = new StringTokenizer(strLine, ",");
 
                               
 
                                while(st.hasMoreTokens())
 
                                {
 
                                        //zeigt sozusagen den CSV-Wert
 
                                        tokenNumber++;
//----- code to insert
String readed=st.nextToken();
 if (readed.length()==2){
}else{ 
 
                                        System.out.println("Zeile # " + lineNumber +
 
                                                        ", Zeichen(Nummer) # " + tokenNumber
//----code to change
                                                        + ", Zeichen : "+ readed);
//------ code to insert
}
 
                               }
 
                                        tokenNumber = 0;    //Zeichen bzw. Token Nummer zurücksetzen
 
                               }
                        }
 
                catch(Exception e) //Beim Eintritt eines Fehlers gibt "e" den Inhalt
                                   //des Fehlers(Vom System) an System.out.println weiter.
 
                {
 
                        System.out.println("Fehler beim Lesen der CSV-Datei: " + e);
 
                }
 
        }
 
     }
 

Neue Themen


Oben