java.io.RandomAccessFile#readLine ( )源码实例Demo

下面列出了java.io.RandomAccessFile#readLine ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: VIA-AI   文件: CPUStatistic.java
public int printCpuUsages()
    {
        try
        {
            RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");
            String load = reader.readLine();
            while (load != null)
            {
                Log.d("CPU", "CPU usage: " + load);
                load = reader.readLine();
            }
        }
        catch (IOException ex)
        {
//            ex.printStackTrace();
            return 0;
        }
        return 0;

    }
 
源代码2 项目: bidder   文件: PipeTailer.java
/**
 * Run until interrupted.
 */
public void run() {

    try {
        while (!me.isInterrupted()) {
            File f_pipe = new File(fileName);
            RandomAccessFile raf = new RandomAccessFile(f_pipe, "r");//p.1
            String line = null;
            for (; ; ) {
                line = raf.readLine();

                //Take care to check the line -
                //it is null when the pipe has no more available data.
                if (line != null) {
                    handler.handle(line);
                } else {
                    break; //stop reading loop
                }
            }
        }
    } catch (Exception error) {
        error.printStackTrace();
    }
}
 
源代码3 项目: p3-batchrefine   文件: PartFilesReassembly.java
private static long findRDFNameSpaceEnd(RandomAccessFile file)
		throws IOException {
	long filePosition = 0;
	String line;
	int count = 0;
	while ((line = file.readLine()) != null) {

		if (line.trim().startsWith("<rdf:"))
			count++;
		if (count == 2)
			break;
		filePosition = file.getFilePointer();
	}

	return filePosition;
}
 
源代码4 项目: p3-batchrefine   文件: PartFilesReassembly.java
private static long findRDFNameSpaceEnd(RandomAccessFile file)
		throws IOException {
	long filePosition = 0;
	String line;
	int count = 0;
	while ((line = file.readLine()) != null) {

		if (line.trim().startsWith("<rdf:"))
			count++;
		if (count == 2)
			break;
		filePosition = file.getFilePointer();
	}

	return filePosition;
}
 
源代码5 项目: batteryhub   文件: Cpu.java
public static synchronized long[] readUsagePoint() {
    long idle = 0;
    long cpu = 0;

    try {
        RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");

        String load = reader.readLine();
        String[] tokens = load.split(" ");
        for (int i = 2; i <= 8; i++) {
            // 5 index has idle value
            if (i == 5) {
                idle = Long.parseLong(tokens[i]);
                continue;
            }
            cpu += Long.parseLong(tokens[i]);
        }
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return new long[]{idle, cpu};
}
 
源代码6 项目: p3-batchrefine   文件: PartFilesReassembly.java
private static long findClosingRDFBracket(RandomAccessFile file)
		throws IOException {
	long length = file.length();
	file.seek((long) (length * 0.9));
	long lastLinePosition = -1;
	String lastLine = "";
	while (!lastLine.trim().equals("</rdf:RDF>")) {
		lastLinePosition = file.getFilePointer();
		lastLine = file.readLine();
		if (lastLine == null)
			throw new IOException(
					"Malformed RDF, last line is not an RDF closing bracket: "
							+ lastLine);
	}
	return lastLinePosition;
}
 
源代码7 项目: bboxdb   文件: TestFileLineIndex.java
/**
 * Read a line from the index
 * @param pos
 * @param expected
 * @throws IOException 
 */
protected void readLineFomIndex(final RandomAccessFile file, final FileLineIndex fli, 
		final long lineNumber, final String expected) throws IOException {
	
	final long pos = fli.locateLine(lineNumber);
	file.seek(pos);
	final String line = file.readLine();
	Assert.assertEquals(expected, line);
}
 
/**
 * Returns CPU usage info. Careful using this it's CPU intensive by itself! 
 * @return Percentage
 */
private float getCPU() {
    try {
        RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");
        String load = reader.readLine();

        String[] toks = load.split(" ");

        long idle1 = Long.parseLong(toks[5]);
        long cpu1 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
              + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);

        try {
            Thread.sleep(360);
        } catch (Exception e) {}

        reader.seek(0);
        load = reader.readLine();
        reader.close();

        toks = load.split(" ");

        long idle2 = Long.parseLong(toks[5]);
        long cpu2 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
            + Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);

        return (float)(cpu2 - cpu1) / ((cpu2 + idle2) - (cpu1 + idle1));

    } catch (IOException ex) {
        ex.printStackTrace();
    }

    return 0;
}
 
源代码9 项目: COLA   文件: ByteStore.java
private List<MockData> loadDataFileHead(RandomAccessFile rf) throws IOException {
    List<MockData> mockDataList = new ArrayList<>();
    long fileLength = rf.length();
    // 返回此文件中的当前偏移量
    long start = rf.getFilePointer();
    long readIndex = start + fileLength -1;
    String line;
    // 设置偏移量为文件末尾
    rf.seek(readIndex);
    int c = -1;
    while (readIndex > start) {
        c = rf.read();
        String readText = null;
        if (c == '\n' || c == '\r') {
            line = rf.readLine();
            if (line != null) {
                readText = new String(line.getBytes("ISO-8859-1"));
            }
            if(StringUtils.isBlank(readText)){
                continue;
            }

            if(Constants.RESPONSE_DATA_DELIMITER.equals(readText)){
                break;
            }else{
                MockData mockData = createMockDataHead(readText);
                mockDataList.add(mockData);
            }
            readIndex--;
        }
        readIndex--;
        rf.seek(readIndex);
    }
    return mockDataList;
}
 
源代码10 项目: COLA   文件: DataMapStore.java
private String readLine(RandomAccessFile raf) throws IOException {
    String line = raf.readLine();
    if(StringUtils.isBlank(line)){
        return line;
    }
    line = new String(line.getBytes("ISO-8859-1"), "utf-8");
    line = StringUtils.trim(line);
    return line;
}
 
源代码11 项目: StickyDecoration   文件: CpuUtils.java
public static double getCpuUsage0() {
    try {
        RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");
        String load = reader.readLine();
        String[] toks = load.split(" ");
        double idle1 = Double.parseDouble(toks[5]);
        double cpu1 = Double.parseDouble(toks[2])
                + Double.parseDouble(toks[3]) + Double.parseDouble(toks[4])
                + Double.parseDouble(toks[6]) + Double.parseDouble(toks[8])
                + Double.parseDouble(toks[7]);
        // 2:user 3:nice 4:system 6:iowait 7:irq 8:softirq
        try {
            Thread.sleep(360);
        } catch (Exception e) {
            e.printStackTrace();
        }
        reader.seek(0);
        load = reader.readLine();
        reader.close();
        toks = load.split(" ");
        double idle2 = Double.parseDouble(toks[5]);
        double cpu2 = Double.parseDouble(toks[2])
                + Double.parseDouble(toks[3]) + Double.parseDouble(toks[4])
                + Double.parseDouble(toks[6]) + Double.parseDouble(toks[8])
                + Double.parseDouble(toks[7]);
        double value = div((100.00 * ((cpu2 - cpu1))),
                (cpu2 + idle2) - (cpu1 + idle1), 2);
        // BigDecimal b = new BigDecimal(Double.toString(value));

        // double res = b.setScale(2,
        // BigDecimal.ROUND_HALF_UP).doubleValue();

        return value;
    } catch (IOException ex) {
        ex.printStackTrace();
    }
    return 0;
}
 
源代码12 项目: FireFiles   文件: StorageUtils.java
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
   private long getSizeTotalRAM(boolean isTotal) {
	long sizeInBytes = 1000;
	MemoryInfo mi = new MemoryInfo();
	activityManager.getMemoryInfo(mi);
	if(isTotal) {
		try { 
			if(Utils.hasJellyBean()){
				long totalMegs = mi.totalMem;
				sizeInBytes = totalMegs;
			}
			else{
				RandomAccessFile reader = new RandomAccessFile("/proc/meminfo", "r");
				String load = reader.readLine();
				String[] totrm = load.split(" kB");
				String[] trm = totrm[0].split(" ");
				sizeInBytes=Long.parseLong(trm[trm.length-1]);
				sizeInBytes=sizeInBytes*1024;
				reader.close();	
			}
		} 
		catch (Exception e) { }
	}
	else{
		long availableMegs = mi.availMem;
		sizeInBytes = availableMegs;
	}		
	return sizeInBytes;
}
 
源代码13 项目: Introspy-Android   文件: LoadConfig.java
private String readFirstLineOfFile(String fn) {
    String lineData = "";
    try{
        RandomAccessFile inFile = new RandomAccessFile(fn, "r");
        lineData = inFile.readLine();
        inFile.close();
    }
    // file not found
    catch(Exception e){
    	// Log.i("IntrospyLog", "--> "+ e);
    	// app won't be hooked
    }
    return lineData;
}
 
源代码14 项目: journaldev   文件: ReadFileUsingRandomAccessFile.java
public static void main(String[] args) {
	try {
		RandomAccessFile file = new RandomAccessFile("/Users/pankaj/Downloads/myfile.txt", "r");
		String str;
		while ((str = file.readLine()) != null) {
			System.out.println(str);
		}
		file.close();
	} catch (IOException e) {
		e.printStackTrace();
	}
}
 
源代码15 项目: p3-batchrefine   文件: ChunkSplit.java
private long findNextEOLPosition(RandomAccessFile seeakable, long blocksize)
		throws IOException, EndReachedException {
	if (seeakable.skipBytes((int) blocksize) < blocksize)
		throw new EndReachedException();
	else
		seeakable.readLine();
	return seeakable.getFilePointer();
}
 
源代码16 项目: hortonmachine   文件: DxfGroup.java
public static DxfGroup readGroup( RandomAccessFile raf ) throws IOException {
    try {
        long pos = raf.getFilePointer();
        String line1 = raf.readLine();
        String line2 = raf.readLine();
        DxfGroup dxfGroup = new DxfGroup(Integer.parseInt(line1.trim()), line2);
        dxfGroup.setAddress(pos);
        return dxfGroup;
    } catch (IOException ioe) {
        raf.close();
        throw ioe;
    }
}
 
源代码17 项目: pegasus   文件: PegasusSubmitDAG.java
/**
 * Modifies the dagman condor submit file for metrics reporting.
 *
 * @param file
 * @return true if file is modified, else false
 * @throws CodeGeneratorException
 */
protected boolean modifyDAGManSubmitFileForMetrics(File file) throws CodeGeneratorException {
    // modify the environment string to add the environment for
    // enabling DAGMan metrics if so required.
    Metrics metricsReporter = new Metrics();
    metricsReporter.initialize(mBag);
    ENV env = metricsReporter.getDAGManMetricsEnv();
    if (env.isEmpty()) {
        return false;
    } else {
        // we read the DAGMan submit file in and grab the environment from it
        // and add the environment key to the second last line with the
        // Pegasus metrics environment variables added.
        try {
            RandomAccessFile raf = new RandomAccessFile(file, "rw");
            String dagmanEnvString = "";
            String line = null;
            long previous = raf.getFilePointer();
            while ((line = raf.readLine()) != null) {
                if (line.startsWith("environment")) {
                    dagmanEnvString = line;
                }
                if (line.startsWith("queue")) {
                    // backtrack to previous file position i.e just before queue
                    raf.seek(previous);
                    StringBuilder dagmanEnv = new StringBuilder(dagmanEnvString);
                    if (dagmanEnvString.isEmpty()) {
                        dagmanEnv.append("environment=");
                    } else {
                        dagmanEnv.append(";");
                    }
                    for (Iterator it = env.getProfileKeyIterator(); it.hasNext(); ) {
                        String key = (String) it.next();
                        dagmanEnv.append(key).append("=").append(env.get(key)).append(";");
                    }
                    mLogger.log(
                            "Updated environment for dagman is " + dagmanEnv.toString(),
                            LogManager.DEBUG_MESSAGE_LEVEL);
                    raf.writeBytes(dagmanEnv.toString());
                    raf.writeBytes(System.getProperty("line.separator", "\r\n"));
                    raf.writeBytes("queue");
                    break;
                }
                previous = raf.getFilePointer();
            }

            raf.close();
        } catch (IOException e) {
            throw new CodeGeneratorException(
                    "Error while reading dagman .condor.sub file " + file, e);
        }
    }
    return true;
}
 
源代码18 项目: hadoop   文件: Storage.java
/**
 * Attempts to acquire an exclusive lock on the storage.
 * 
 * @return A lock object representing the newly-acquired lock or
 * <code>null</code> if storage is already locked.
 * @throws IOException if locking fails.
 */
@SuppressWarnings("resource")
FileLock tryLock() throws IOException {
  boolean deletionHookAdded = false;
  File lockF = new File(root, STORAGE_FILE_LOCK);
  if (!lockF.exists()) {
    lockF.deleteOnExit();
    deletionHookAdded = true;
  }
  RandomAccessFile file = new RandomAccessFile(lockF, "rws");
  String jvmName = ManagementFactory.getRuntimeMXBean().getName();
  FileLock res = null;
  try {
    res = file.getChannel().tryLock();
    if (null == res) {
      throw new OverlappingFileLockException();
    }
    file.write(jvmName.getBytes(Charsets.UTF_8));
    LOG.info("Lock on " + lockF + " acquired by nodename " + jvmName);
  } catch(OverlappingFileLockException oe) {
    // Cannot read from the locked file on Windows.
    String lockingJvmName = Path.WINDOWS ? "" : (" " + file.readLine());
    LOG.error("It appears that another node " + lockingJvmName
        + " has already locked the storage directory: " + root, oe);
    file.close();
    return null;
  } catch(IOException e) {
    LOG.error("Failed to acquire lock on " + lockF
        + ". If this storage directory is mounted via NFS, " 
        + "ensure that the appropriate nfs lock services are running.", e);
    file.close();
    throw e;
  }
  if (!deletionHookAdded) {
    // If the file existed prior to our startup, we didn't
    // call deleteOnExit above. But since we successfully locked
    // the dir, we can take care of cleaning it up.
    lockF.deleteOnExit();
  }
  return res;
}
 
源代码19 项目: big-c   文件: Storage.java
/**
 * Attempts to acquire an exclusive lock on the storage.
 * 
 * @return A lock object representing the newly-acquired lock or
 * <code>null</code> if storage is already locked.
 * @throws IOException if locking fails.
 */
@SuppressWarnings("resource")
FileLock tryLock() throws IOException {
  boolean deletionHookAdded = false;
  File lockF = new File(root, STORAGE_FILE_LOCK);
  if (!lockF.exists()) {
    lockF.deleteOnExit();
    deletionHookAdded = true;
  }
  RandomAccessFile file = new RandomAccessFile(lockF, "rws");
  String jvmName = ManagementFactory.getRuntimeMXBean().getName();
  FileLock res = null;
  try {
    res = file.getChannel().tryLock();
    if (null == res) {
      throw new OverlappingFileLockException();
    }
    file.write(jvmName.getBytes(Charsets.UTF_8));
    LOG.info("Lock on " + lockF + " acquired by nodename " + jvmName);
  } catch(OverlappingFileLockException oe) {
    // Cannot read from the locked file on Windows.
    String lockingJvmName = Path.WINDOWS ? "" : (" " + file.readLine());
    LOG.error("It appears that another node " + lockingJvmName
        + " has already locked the storage directory: " + root, oe);
    file.close();
    return null;
  } catch(IOException e) {
    LOG.error("Failed to acquire lock on " + lockF
        + ". If this storage directory is mounted via NFS, " 
        + "ensure that the appropriate nfs lock services are running.", e);
    file.close();
    throw e;
  }
  if (!deletionHookAdded) {
    // If the file existed prior to our startup, we didn't
    // call deleteOnExit above. But since we successfully locked
    // the dir, we can take care of cleaning it up.
    lockF.deleteOnExit();
  }
  return res;
}
 
源代码20 项目: ignite   文件: FileIOTest.java
/**
 * @throws Exception If failed.
 */
@Test
public void testReadLineFromBinaryFile() throws Exception {
    File file = new File(FILE_PATH);

    file.deleteOnExit();

    RandomAccessFile raf = new RandomAccessFile(file, "rw");

    byte[] b = new byte[100];

    Arrays.fill(b, (byte)10);

    raf.write(b);

    raf.writeBytes("swap-spaces/space1/b53b3a3d6ab90ce0268229151c9bde11|" +
        "b53b3a3d6ab90ce0268229151c9bde11|1315392441288" + U.nl());

    raf.writeBytes("swap-spaces/space1/b53b3a3d6ab90ce0268229151c9bde11|" +
        "b53b3a3d6ab90ce0268229151c9bde11|1315392441288" + U.nl());

    raf.write(b);

    raf.writeBytes("test" + U.nl());

    raf.getFD().sync();

    raf.seek(0);

    while (raf.getFilePointer() < raf.length()) {
        String s = raf.readLine();

        X.println("String: " + s + ";");

        X.println("String length: " + s.length());

        X.println("File pointer: " + raf.getFilePointer());
    }
}