Changeset 99
- Timestamp:
- 10/11/02 15:30:21 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/j/src/org/armedbear/j/Man.java
r93 r99 3 3 * 4 4 * Copyright (C) 2000-2002 Peter Graves 5 * $Id: Man.java,v 1. 2 2002-10-11 01:42:37piso Exp $5 * $Id: Man.java,v 1.3 2002-10-11 15:30:21 piso Exp $ 6 6 * 7 7 * This program is free software; you can redistribute it and/or … … 60 60 { 61 61 if (!isLoaded()) { 62 final File toBeLoaded = getFile(); 63 if (toBeLoaded.isFile()) { 64 try { 65 load(toBeLoaded.getInputStream()); 62 try { 63 lockWrite(); 64 } 65 catch (InterruptedException e) { 66 Log.debug(e); 67 return LOAD_FAILED; 68 } 69 try { 70 final File toBeLoaded = getFile(); 71 if (toBeLoaded.isFile()) { 72 try { 73 _load(toBeLoaded.getInputStream()); 74 } 75 catch (IOException e) { 76 Log.error(e); 77 } 78 // Handle zero length files. 79 if (getFirstLine() == null) { 80 appendLine(""); 81 lineSeparator = System.getProperty("line.separator"); 82 } 83 setLastModified(toBeLoaded.lastModified()); 84 renumber(); 85 formatter.parseBuffer(); 66 86 } 67 catch (IOException e) { 68 Log.error(e); 87 Line line = getFirstLine(); 88 while (line != null && line.isBlank()) { 89 line = line.next(); 90 setFirstLine(line); 69 91 } 70 // Handle zero length files.71 if ( getFirstLine()== null) {92 final Line firstLine = getFirstLine(); 93 if (firstLine == null) { 72 94 appendLine(""); 73 lineSeparator = System.getProperty("line.separator"); 95 setLoaded(true); 96 return LOAD_FAILED; 74 97 } 75 setLastModified(toBeLoaded.lastModified()); 98 firstLine.setPrevious(null); 99 String header = firstLine.getText(); 100 for (line = firstLine.next(); line != null; line = line.next()) { 101 if (line.isBlank() && line.previous() != null && line.previous().isBlank()) 102 remove(line); 103 else if (line.getText().equals(header)) 104 remove(line); 105 } 76 106 renumber(); 77 formatter.parseBuffer();107 setLoaded(true); 78 108 } 79 setLoaded(true); 109 finally { 110 unlockWrite(); 111 } 80 112 } 81 Line line = getFirstLine();82 while (line != null && line.isBlank()) {83 line = line.next();84 setFirstLine(line);85 }86 if (getFirstLine() == null)87 return LOAD_FAILED;88 getFirstLine().setPrevious(null);89 String header = getFirstLine().getText();90 for (line = getFirstLine().next(); line != null; line = line.next()) {91 if (line.isBlank() && line.previous() != null && line.previous().isBlank())92 remove(line);93 else if (line.getText().equals(header))94 remove(line);95 }96 renumber();97 113 return LOAD_COMPLETED; 98 114 } 99 115 100 p ublic voidload(InputStream istream)116 private void _load(InputStream istream) 101 117 { 102 118 byte[] buf = new byte[4096];
Note: See TracChangeset
for help on using the changeset viewer.