2015-09-18 2 views
0

У меня есть программа, которая преобразует Excel в CSV, и я использовал два способа сделать это: один из них использует CsvWriter, а другая программа использует BufferedWriter, но проблема в том, что Я сталкивался здесь, чтобы написать Integer в файл, который необходимо преобразовать его в строку сЕсть ли способ написать целое число в файл в java

String.valueOf(myInt); 

но мне нужен чистый Integer не строка, потому что, когда я пытаюсь загрузить этот файл в базе данных Oracle это меня бросает

Ora-0172 2 неверное количество исключений

Я попытался создать файл CSV из моей Windows и Oracle, отлично работает с этими данными.

Итак, мой вопрос заключается в том, как написать целое число, а не строку в файл? Любая помощь?

+0

Просто записать целое число в файл. 'PrintWriter' имеет методы, которые принимают целочисленные параметры, поэтому оберните свой BufferedWriter в один - если вы хотите двоичный вывод. – Thomas

+0

'Я пытался создать файл Csv из моих окон, и оракул отлично работает с этими данными' - так что вы действительно хотите создать файл CSV? Обратите внимание, что это _always_ text-based, поэтому, если результат не соответствует тому, что вы хотите получить, пожалуйста, представьте примеры как для правильного формата, который вы ожидаете, так и для неправильного формата. – Thomas

ответ

2

Использовать DataOutputStream Объект для записи примитивного значения int в файл.

Пример:

//create FileOutputStream object 
    FileOutputStream fos = new FileOutputStream(strFilePath); 

/* 
* To create DataOutputStream object from FileOutputStream use, 
* DataOutputStream(OutputStream os) constructor. 
*/ 

    DataOutputStream dos = new DataOutputStream(fos); 

    int i = 100; 

/* 
* To write an int value to a file, use 
* void writeInt(int i) method of Java DataOutputStream class. 
* 
* This method writes specified int to output stream as 4 bytes value. 
*/ 

    dos.writeInt(i); 

/* 
* To close DataOutputStream use, 
* void close() method. 
* 
*/ 

    dos.close(); 
1

Одним из вариантов является использование DataOutputStream (соответственно DataInputStream) для записи (или чтения) любого примитивного типа Java в файл или из него.

+0

пишите, но не читайте. читать использование 'DataInputStream' – Kachna

+0

Да, извините, спасибо. –

Смежные вопросы