• 大小: 5KB
    文件类型: .java
    金币: 2
    下载: 4 次
    发布日期: 2021-05-28
  • 语言: Java
  • 标签: MARC数据  

资源简介

java读取解析图书MARC数据的iso文件

资源截图

代码片段和文件信息

package o;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;

import org.apache.commons.lang.StringUtils;

/**
 * 
 * marc
 * 
 */
class ReadMarc {

public void readFileByLines(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println(“以行为单位读取文件内容,一次读一整行:“);
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)“GBK“));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
ReadMarc rm=new ReadMarc();
while ((tempString = reader.readLine()) != null) {
// 显示行号
try{
rm.showMarc(tempString.getBytes(“GBK“));
}catch(Exception ee){
//System.out.println(line+“  “+“data: “+tempString);
System.out.println(ee);
}
// System.out.println(“line “ + line + “: “ + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}

}

public void showMarc(byte[] bytes) {
try {
// InputStreamReader finr=new InputStreamReader(new FileInputStream(file)“GBK“);
// ByteArrayInputStream fin=new ByteArrayInputStream(filetempString.getBytes());
// 数组bytes用于存放读取的所有字节
// int fileSize=str.length();
//byte bytes[] = bss;//new byte[fileSize];
// fin.read(bytes);
// 读取此条数据的总长度
byte marcB[] = new byte[5];
for (int i = 0; i < 5; i++) {
marcB[i] = bytes[i];
}
String marcS = new String(marcB);
int marcLen = Integer.parseInt(marcS);
// System.out.println(marcLen);
// 读取数据基地址
byte marcB2[] = new byte[5];
for (int i = 0; i < 5; i++) {
marcB2[i] = bytes[i + 12];
}
String marcS2 = new String(marcB2);
int dataStart = Integer.parseInt(marcS2);
// System.out.println(dataStart);
//

评论

共有 条评论

相关资源