CSV ofuscante -- java campo con obfuscation campo con inputstream campo con bufferedreader camp Relacionados El problema

Obfuscating CSV


0
vote

problema

Español

es posible hacer que un lector de CSV sea similar a este

  while((line = reader.readLine()) != null){             String[] values = line.split(",");             for(String s : values) {                 data.add(s); }   

Pero en lugar de solo una coma, tiene diferentes divisiones para cada línea, por ejemplo:

  value/value;value=value   

en lugar de solo Valor, valor, valor, valor

Original en ingles

Is it possible to make a CSV reader similar to this

while((line = reader.readLine()) != null){             String[] values = line.split(",");             for(String s : values) {                 data.add(s); } 

but instead of just a comma, have different splits for each line eg:

value/value;value=value 

instead of just value,value,value,value

           
   
   

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

String#split toma una expresión regular, no solo una cadena, como argumento, por lo que podría usar una expresión como ;|/|=|, para dividir.

 

String#split takes a regular expression, not just a String, as argument, so you could use an expression like ;|/|=|, for splitting.

 
 
     
     
1
 
vote

Claro, puede implementar un lector para su Ofcused CSV , pero el formato de archivo ya no es CSV y tendrá más problemas para identificar un conjunto de caracteres del separador (no deben ser parte de los valores).

Enfoque más fácil: escriba un codificador, que convierte un CSV legal a su propio formato de datos y un decodificador de la transformación de nuevo a CSV legal.

BTW: todavía puede decodificar con un solo comando dividido:

  String[] values = line.split("[/;=]");   

split Toma una expresión regular como un argumento.

 

Sure, you can implement a reader for your obfuscated csv, but the file format is not CSV anymore and you'll have more problems to identify a set of separator characters (they must not be part of the values).

Easiest approach: write an encoder, that converts a legal CSV to your own dataformat and a decoder of the transformation back to legal CSV.

BTW - you still can decode with a single split command:

String[] values = line.split("[/;=]"); 

split takes a regular expression as an argument.

 
 
     
     
1
 
vote

Split acepts regexp como un argumento String[] values = line.split("[/;=]"); 8 . Por ejemplo, esto se dividirá en cualquier solo de los caracteres que utilizó en su ejemplo.

line.split("[/;=]")

 

Split accepts regexp as a String argument. For example, this will split on any single of the characters you used in your example.

line.split("[/;=]")

 
 
1
 
vote

El método dividido de cadena también se puede llamar usando un expresión regular . En su caso, la línea de código fija será:

  dataType:"json";0  

o

  dataType:"json";111  
 

The split method of String can also be called using a regular expression. In your case, the fixed line of code will be:

String[] values = line.split("[,/;=]"); // specific chars you want to look for 

or

String[] values = line.split("[^0-9]"); // everything except digits 
 
 

Relacionados problema

1  Java BufferedReader Readline Loop no se rompe  ( Java bufferedreader readline loop does not break ) 
En mi código Java, envié una cadena a través del enchufe a otro arroyo. Código del remitente: OutputStream out = socket.getOutputStream(); String u = new...

8  Cómo leer la última línea en un archivo de texto usando Java [Duplicate]  ( How to read last line in a text file using java ) 
Esta pregunta ya tiene respuestas aquí : ¿Lea rápidamente la última línea de un archivo de texto? ...

-1  ¿Cómo leer del archivo de texto y almacenar en matriz de cadenas en Java?  ( How to read from text file and store in string array in java ) 
Tengo un archivo de texto textfile.txt que contiene datos de la siguiente manera: A-abc , A-xyz , B-mno , A-ijk , B-pqr Ahora, tengo que leer de este a...

0  Contando número de palabra en cada oración  ( Counting number of word in each sentence ) 
Tengo un archivo de texto en este formato: Word index Adam 0 likes 1 to 2 play 3 soccer 4 You 0 have ...

0  Java: sobrescribe un carácter mientras copia un archivo de texto  ( Java overwrite one character while copying a textfile ) 
Mi programa actual lee un archivo y lo copia en otro directorio, pero quiero que cambie un solo carácter a X, que se le da por dos ints para el número de la l...

-2  Leyendo un archivo de texto para formar un laberinto en Java  ( Reading a text file to form a maze in java ) 
Soy bastante nuevo para Java y tengo el siguiente archivo de texto que quiero convertir en un laberinto: ************************************************* ...

1  ¿Cómo eliminar � de una cadena?  ( How to remove from a string ) 
¿Qué es ese char � ? ¿Y cómo eliminarlo de una cadena? Lo conseguí de un BufferedReader y lo tengo porque leí los contenidos en una matriz de caracteres y ...

1  No se puede cerrar la transmisión HTTP en respuesta incorrecta  ( Unable to close http streaming on wrong response ) 
My Apache HTTP El cliente está leyendo datos de un servidor que está enviando STREAMING HTTP (en forma de datos chunked) a nosotros. Tengo un secuencia de e...

-1  ¿Cómo leo de una línea determinada hasta cierta línea?  ( How do i read from a certain line until a certain line ) 
Por ejemplo, quiero leer un archivo de texto desde la línea número 20056 hasta la línea 1159450 y lo emite en la ventana de salida, pero no sé cómo hacerlo co...

0  ¿Cómo leí un archivo de cuerdas en una matriz 2D?  ( How do i read a file of strings into a 2d array ) 
El archivo en el que estoy leyendo tiene 40 Diferentes cadenas y quiero colocarlo en un 2d-array con un tamaño de [10][4] . Código hasta ahora publi...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos