About writting in a file
When overwritting to an existing file , what would happen it the existing file has a bigger size than the data written in it ?
I haven't tried it right now , but i would know how this is done in Java .
Thanks in advance for any valuable answer.
This is an OS question.
Generally, when you overwrite a file, it is the same as deleting the previous file and writing a new one. In any case, this is not something that will be unique to Java - Java will just be making OS calls to write the data to disk.
I don't know of any OS that wouldn't just allocate more space for you.
Similar Messages
-
It is a traditional DAQ problem. I acquire some data and I want to write it on file only if voltage value is greater than a constant value (I used "Comparison" Express vi to do comparison). This mean that enable must depend on the result of comparison. I dont want to write unuseful data. What happens is that if the last scan is greater than the threshold, all data is written; if the last scan is smaller, all data is not written.No matter if intermediate scan result is zero or one.
Attachments:
My_Data_Processing2.vi 423 KB
pulse.lvm 4 KBThere may be a bug in the comparison VI. I experimented with simple waveforms (0,0,1,0,0) and (0,0,1,0,0,1). I used the greater than with a cut off of .5. I also set the VI to output one answer for the entire sample.
I saw that the VI outputed 0 for both data sets. When I used the property page to invert the input, both sets outputed 1. I believe that if you just inverted the output of the comparison VI, you will be fine. -
Attempting to write data to file, but getting error 200279
I am having trouble when writing data to a file. About 10 seconds into the saving process, I get the error 200279. I have done some research on the topic, but am unable to corect my code. I believe I do not want to increase the buffer size, but would rather, I assume, read the data more frequently. The way I save my file is, before running the VI, I assign a location and name of the file (e.g. data.csv). The date and time is appended to the end of the actual file when the I begin to save the data (e.g. data_07-26-13_122615.csv). If the file does not exist, it creates a new file, then appends data to that file after every loop iteration. The reason I did it this way was so I do not have to worry about running out of memory, but apparently my code is flawed.
I will include a copy of the flawed section of my code. Any help would be greatly appreciated.
Thanks.
Solved!
Go to Solution.
Attachments:
data_acquisition.vi 127 KBYour problem is that writing to disk is slow. It is slow enough that it is causing your DAQ buffer to overflow and cause the error and loss of data. What you need to do is implement a Producer/Consumer. This will put the daq and the logging to disk in seperate loops. This will allow the DAQ to run at the speed it needs to keep up with incoming samples and the writing to disk can run at whatever rate it can. You send the DAQ data to the logging loop using a queue.
You might also want to think about changing how you write to the file. That VI is constantly opening and closing the file, which is a very slow process if you are doing it inside of a loop.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
Write to Text File.vi Output file all but first line start with tab
The attached PNG shows the code used to build up concatenated strings into a string array for the first four lines, thence to a string Array, to Spreadsheet String.vi and, finally, the use of Write to Text File.vi
The lower right corner shows the result loaded into a spreadsheet. Note the 3 blank entries marked by a filled red rectangle. Examination of hidden characters shows there is a tab at the beginning of lines 2, 3 and 4.
There is no tab shown in the code. How do those tabs get there? How do I stop them?
I have tried with the option "Convert EOL" both on and off with no difference.
The Help states that an OS-dependent EOL character is appended to each line. I can't imagine the Windows EOL character includes a tab.
Solved!
Go to Solution.
Attachments:
Tab Mystery.PNG 29 KBwildcatherder wrote:
I am still puzzled as to why those additional tabs were added by Array to Spreadsheet String. I'm holding in my hand a printout of an old LabVIEW 8 program with that construction, which is known to work properly.
Makes complete sense when you look at your code. You build a string, including an end-of-line character, and put that string into an array. Then, when you run it through Array to Spreadsheet String, it puts a tab after every array element, and new line at the end of each row in the array. The first element of your array contains a new line but Array to Spreadsheet String doesn't know about it; it still inserts a tab between that array element and the next one, giving you the tabs. -
Hi,
i would like to know one thing about the write to measurement file. Can i put the proper header at each column in write to measurement file (.lvm) ? and how can i do for it ? Could you show me a way to make it ?
i am looking forward your kindly reply.
thank you so much ..
best regard,
roxyHi Mike,
Thank you very much for your help. It works .
By the way, i would like to ask you about setting time interval. In the pic, X_Value column is for time column
i would like to ask that when i use the write to measurement file, there got the x column that show time inside the excel file. In this column, i would like to set the time interval at every 210ms .The data may come in every msec but i just want to record the data at every 210ms . for example, 210ms-420ms-630ms ..etc. how can i set it ?
One more thing .. can i do it in graph as well ?
i am looking forward your kindly reply.
Thank you for your time.
Best Regard,
Roxy -
HELP!!!!!! - How to write into a file?
How to write into a file?
I want to make a script that will connect(not enter) to my website[for example, www.vasa.com] every time i connect to the internet.
Now i have 3 problems:
1. i dont know how to write into a file
2. i dont know how to make it connect to my 'server' without entering the website
3. i dont know what file to write it to
so if someone can help me, please do.Well, how about RTFM?? In this case that can be found here:
http://developer.java.sun.com/developer/onlineTraining/
BTW - these things have been asked azillion times, search the forum. -
Write xmp sidecar files without need to export masters - script
I've written a script to write xmp sidecar files for referenced and online images (the 2 conditions in the script) of the selected images. I looked for a while at system events and other stuff to be able to write the xmp file, but i'm not a programmer, so in the end i chose the long and dirty way to do it.
This script will export all iptc expanded fields as aperture does (creating basically the same file). It can be easily adjusted to include other tags, even custom ones. I don't know how to get at the adjustments for images, otherwise those could be included as well.
If anyone has the energy to clean this up and make it faster, feel free to do so. Next, I'm going to try to write a script to do the opposite, import xmp sidecars for imported online and referenced files.
Here it goes (thanks to Brett Gross for the database part to find the master filename):
--script to create sidecar xmp files for referenced files without having to export masters. parts of the script (finding the file name) are by brett gross
property p_sql : "/usr/bin/sqlite3 "
global g_libPath
on run
my getLibPath()
--counter for processed images, reset, just in case
set mastercount to 0
tell application "Aperture"
if not (exists selection) then
display dialog "You have to select at least one image" buttons {"OK"} default button 1
return
else
display dialog "You have selected " & (count of selection) & " images." & return & "Continue?" default button 1
end if
set theSel to selection
--run through the selected images
repeat with currentpic from 1 to count of theSel
tell item currentpic of theSel
-- only apply to referenced and online images
if referenced and online then
set mastercount to mastercount + 1
set curID to id
--find the master file path and name - this part by brett gross, thanks
set libPOSIX to POSIX path of g_libPath
set libDBPOSIX to (libPOSIX & "/Aperture.aplib/Library.apdb") as string
set theScript to p_sql & (quoted form of libDBPOSIX) & " \"select ZFILEUUID from ZRKVERSION where ZUUID='" & curID & "'\""
set ZFILEUUID to do shell script theScript
# ---------- Get the master's path
set theScript to p_sql & (quoted form of libDBPOSIX) & " \"select ZIMAGEPATH from ZRKFILE where ZUUID='" & ZFILEUUID & "'\""
set ZIMAGEPATH to do shell script theScript
# ---------- Get the master's disk name
set theScript to p_sql & (quoted form of libDBPOSIX) & " \"select ZFILEVOLUMEUUID from ZRKFILE where ZUUID='" & ZFILEUUID & "'\""
set ZFILEVOLUMEUUID to do shell script theScript
set theScript to p_sql & (quoted form of libDBPOSIX) & " \"select ZNAME from ZRKVOLUME where ZUUID='" & ZFILEVOLUMEUUID & "'\""
set diskName to do shell script theScript
set imgPath to (diskName & "/" & ZIMAGEPATH)
--end brett gross part
--strips extension, seems to work for files and paths with more than one period
set oldlim to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
try --remove last extension only
set contador to text item -1 of imgPath
set noExtension to Unicode text 1 thru -((count of contador) + 2) of imgPath
on error --handle files with no extensions
set noExtension to imgPath
end try
set AppleScript's text item delimiters to oldlim
--create the file and path name with the .xmp extension for writing
set xmpPath to "/Volumes/" & noExtension & ".xmp" as Unicode text
--convert posix path to alias for easier write and read handling
set xmpPath to POSIX file xmpPath as file specification
-- header for xmp file
set xmpheader to ("<?xpacket begin='' id=''?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9-9, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>") & return
-- footer for xmp file
set xmpfooter to ("</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>") & return
--xmp content, part 1
--check for existence of iptc tags, create content or empty string depending on existance of tags
if (exists IPTC tag "Contact") or (exists IPTC tag "Country/PrimaryLocationCode") then
set xmpcontentpartone to ("<rdf:Description rdf:about='' xmlns:Iptc4xmpCore='http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/'>") & return
try
set CountryCode to value of IPTC tag "Country/PrimaryLocationCode"
set xmpcontentpartone to xmpcontentpartone & tab & "<Iptc4xmpCore:CountryCode>" & CountryCode & "</Iptc4xmpCore:CountryCode>" & return
end try
try
set CreatorContactInfo to value of IPTC tag "Contact"
set xmpcontentpartone to xmpcontentpartone & tab & "<Iptc4xmpCore:CreatorContactInfo>" & CreatorContactInfo & "</Iptc4xmpCore:CreatorContactInfo>" & return
end try
set xmpcontentpartone to xmpcontentpartone & ("</rdf:Description>") & return
else
set xmpcontentpartone to ""
end if
--xmp content, part 2
--check for existence of iptc tags, create content or empty string depending on existance of tags
if (exists IPTC tag "Category") or (exists IPTC tag "City") or (exists IPTC tag "Country/PrimaryLocationName") or (exists IPTC tag "Credit") or (exists IPTC tag "DateCreated") or (exists IPTC tag "Headline") or (exists IPTC tag "Province/State") or (exists IPTC tag "Source") or (exists IPTC tag "SpecialInstructions") or (exists IPTC tag "SupplementalCategory") or (exists IPTC tag "Writer/Editor") then
set xmpcontentparttwo to ("<rdf:Description rdf:about='' xmlns:photoshop='http://ns.adobe.com/photoshop/1.0/'>") & return
try
set Category to value of IPTC tag "Category"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:Category>" & Category & "</photoshop:Category>" & return
end try
try
set City to value of IPTC tag "City"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:City>" & City & "</photoshop:City>" & return
end try
try
set Country to value of IPTC tag "Country/PrimaryLocationName"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:Country>" & Country & "</photoshop:Country>" & return
end try
try
set Credit to value of IPTC tag "Credit"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:Credit>" & Credit & "</photoshop:Credit>" & return
end try
try
set DateCreated to value of IPTC tag "DateCreated"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:DateCreated>" & DateCreated & "</photoshop:DateCreated>" & return
end try
try
set Headline to value of IPTC tag "Headline"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:Headline>" & Headline & "</photoshop:Headline>" & return
end try
try
set State to value of IPTC tag "Province/State"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:State>" & State & "</photoshop:State>" & return
end try
try
set Source to value of IPTC tag "Source"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:Source>" & Source & "</photoshop:Source>" & return
end try
try
set Instructions to value of IPTC tag "SpecialInstructions"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:Instructions>" & Instructions & "</photoshop:Instructions>" & return
end try
try
set SupplementalCategory to value of IPTC tag "SupplementalCategory"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:SupplementalCategory>" & SupplementalCategory & "</photoshop:SupplementalCategory>" & return
end try
try
set CaptionWriter to value of IPTC tag "Writer/Editor"
set xmpcontentparttwo to xmpcontentparttwo & tab & "<photoshop:CaptionWriter>" & CaptionWriter & "</photoshop:CaptionWriter>" & return
end try
set xmpcontentparttwo to xmpcontentparttwo & ("</rdf:Description>") & return
else
set xmpcontentparttwo to ""
end if
--xmp content, part 3
--check for existence of iptc tags, create content or empty string depending on existance of tags
if (exists IPTC tag "Byline") or (exists IPTC tag "Caption/Abstract") or (exists IPTC tag "CopyrightNotice") or (exists IPTC tag "Keywords") or (exists IPTC tag "ObjectName") then
set xmpcontentpartthree to ("<rdf:Description rdf:about='' xmlns:dc='http://purl.org/dc/elements/1.1/'>") & return
try
set creator to value of IPTC tag "Byline"
set xmpcontentpartthree to xmpcontentpartthree & tab & "<dc:creator><rdf:Seq><rdf:li>" & creator & "</rdf:li></rdf:Seq></dc:creator>" & return
end try
try
set description to value of IPTC tag "Caption/Abstract"
set xmpcontentpartthree to xmpcontentpartthree & tab & "<dc:description><rdf:Alt><rdf:li xml:lang='x-default'>" & description & "</rdf:li></rdf:Alt></dc:description>" & return
end try
try
set rights to value of IPTC tag "CopyrightNotice"
set xmpcontentpartthree to xmpcontentpartthree & tab & "<dc:rights><rdf:Alt><rdf:li xml:lang='x-default'>" & rights & "</rdf:li></rdf:Alt></dc:rights>" & return
end try
--keywords, slightly different, as they need to be written as a list and not as a string
--i don't think it's a problem if we create an empty list if there are no keywords present.
set xmpcontentpartthree to xmpcontentpartthree & tab & "<dc:subject><rdf:Bag>" & return
--make list item for every keyword
try
repeat with n from 1 to count of keywords
set cursubject to name of (keyword n)
set xmpcontentpartthree to xmpcontentpartthree & tab & tab & "<rdf:li>" & cursubject & "</rdf:li>" & return
end repeat
end try
set xmpcontentpartthree to xmpcontentpartthree & tab & "</rdf:Bag></dc:subject>" & return
try
set title to value of IPTC tag "ObjectName"
set xmpcontentpartthree to xmpcontentpartthree & tab & "<dc:title><rdf:Alt><rdf:li xml:lang='x-default'>" & title & "</rdf:li></rdf:Alt></dc:title>" & return
end try
set xmpcontentpartthree to xmpcontentpartthree & ("</rdf:Description>") & return
else
set xmpcontentpartthree to ""
end if
--part four. aperture doesn't seem to export anything there
set xmpcontentpartfour to "<rdf:Description rdf:about='' xmlns:photomechanic='http://ns.camerabits.com/photomechanic/1.0/'>
</rdf:Description>" & return
--part five. rating
set xmpcontentpartfive to "<rdf:Description rdf:about='' xmlns:xap='http://ns.adobe.com/xap/1.0/'>" & return
try
set Rating to main rating
set xmpcontentpartfive to xmpcontentpartfive & tab & "<xap:Rating>" & Rating & "</xap:Rating>" & return
end try
set xmpcontentpartfive to xmpcontentpartfive & "</rdf:Description>" & return
--join everything
set xmptext to xmpheader & xmpcontentpartone & xmpcontentparttwo & xmpcontentpartthree & xmpcontentpartfour & xmpcontentpartfive & xmpfooter
--write file
my writexmpFile(xmptext, xmpPath)
end if
end tell
end repeat
display dialog "Processed " & mastercount & " referenced and online image(s)." buttons {"OK"} default button 1
end tell
end run
-- write xmp sidecar file routine
on writexmpFile(theContents, xmpFileName)
--tell application "Finder"
try
open for access xmpFileName with write permission
set eof of xmpFileName to 0
write (theContents) to xmpFileName starting at eof
close access xmpFileName
on error
try
display dialog xmpFileName
close access xmpFileName
end try
end try
--end tell
end writexmpFile
--this part copied from Brett Gross-------------------------------------------------------------------------- --------------------------------
on getLibPath()
tell application "System Events" to set p_libPath to value of property list item "LibraryPath" of property list file ((path to preferences as Unicode text) & "com.apple.aperture.plist")
if ((offset of "~" in p_libPath) is not 0) then
-- set p_posix to POSIX file p_libPath
set p_script to "/bin/echo $HOME"
set p_homePath to (do shell script p_script)
set p_offset to offset of "~" in p_libPath
set p_path to text (p_offset + 1) thru -1 of p_libPath
set g_libPath to p_homePath & p_path
else
set g_libPath to p_libPath
end if
end getLibPath
--end brett gross partimigra wrote:
I've written a script to write xmp sidecar files for referenced and online images (the 2 conditions in the script) of the selected images. I looked for a while at system events and other stuff to be able to write the xmp file, but i'm not a programmer, so in the end i chose the long and dirty way to do it.
This script will export all iptc expanded fields as aperture does (creating basically the same file). It can be easily adjusted to include other tags, even custom ones.
Excellent stuff!
I don't know how to get at the adjustments for images, otherwise those could be included as well.
They are stored as binary data in the Version XML files at the bottom level of the Library package. You can also have a look around in the ZRKIMAGEADJUSTMENT table, but again the actual settings for each adjustment are in binary form.
If anyone has the energy to clean this up and make it faster, feel free to do so.
As far as I can remember, Aperture uses the 'proper' IPTC tag names when accessing them via AppleScript, so you may be able to do a loop through all the IPTC tags for each image, rather than picking out each specific one. But that would need checking. The EXIFTools site is a good place to find out about the different ways that IPTC data can be described.
Next, I'm going to try to write a script to do the opposite, import xmp sidecars for imported online and referenced files.
Don't rush unless you feel like it - I've already started planning out a free (as in beer and speech) XMP importer with a GUI so that you can choose how to map the XMP CORE tags that don't exist in Aperture. You've given me an extra idea, though - if we can decide on a set of custom tags, my importer could map the XMP CORE tags to them and your exporter could export those tags.
Thanks for the work!
Ian
P.S. I'll check through your script tomorrow, some of the database tables changed between 1.5.6 and 2.0, so you might need to add in a version check to be really thorough. -
I want a stamp to write to the file metadata and be able to display the result in windows explorer. I have read PDF Stamp Secrets and can write to Custom Metadata but don't know how to display that custom field in explorer. Can I have the stamp write to a standard (non-custom) metadata field? Or, how do it get the custom field to display in explorer? Windows is pretty stingy with the file details it displays for PDF files, in fact there are no editable fields provided (like are available for Office files). I want this to work for multiple users hopefully without having to get the IT group involved to make (or allow) system modifications to make this work. Any ideas? Thank you.
Metadata for Windows Explorer is tagged with different names than the metadata for PDFs. Acrobat cannot copy the metadata to the tagged items of the file header.
There are tools like EXIFTool that can manipulate the data as necessary. Phil Harvey also provides the details about the file types and their metadata tags and values so you should be able to map the tags that need to be updated. -
Hello all,
My first question about writing to text file is does the file need to be opened? i know you have the option to create, replace, open..., but does it need to be opened in order to properly write data to the file? Also if my application is running with a disk streaming file setup and i open the file that it is writing to will this cause an error or cause labview to lose control of the file and possibly stop writing to the file?
Thank you,
MattFeel free to experiment. Try writing to a file from multiple locations at once, and you'll see race conditions where data could be lost.
The reason for the Open, Write, Close type of software is because generally you are in a loop continually writing to a file, and the extra overhead of a Open and Close can be limited to when the software starts and closes, instead of having to open a new reference and close it every time you want to write to the file. Just open the reference once, work with it in a while loop, then close it once, must more efficient and better for applications that write many times to disk.
Is it necessary? No you can just use the Write to Text file giving it a path and data to write, but behind that function it will need to open and close the reference each time.
Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously. -
Write to text file (including spaces/next line) using oracle??
How to write to text file using oracle? And how do I handle spaces/next line? (i was trying to use spaces(ch(32)), however it is just converted into squares in the text file.) thanks!
989873 wrote:
How about tabs?It does not matter what character it is. UTL_FILE deals correctly with any text file. Tabb is CHR(9):
SQL> declare
2 v_file utl_file.file_type;
3 v_total_rec number := 0;
4 v_total_sal number := 0;
5 begin
6 v_file := UTL_FILE.FOPEN('TEMP','TEST.TXT','w');
7 for v_rec in (select * from emp) loop
8 v_total_rec := v_total_rec + 1;
9 v_total_sal := v_total_sal + v_rec.sal;
10 UTL_FILE.PUT_LINE(
11 v_file,
12 lpad(v_rec.deptno,2) || chr(9) || rpad(v_rec.ename,14) || chr(9) || to_char(v_rec.sal,'99999D99')
13 );
14 end loop;
15 UTL_FILE.PUT_LINE(v_file,'Total Salary:' || chr(9) || v_total_sal);
16 UTL_FILE.PUT_LINE(v_file,'Total Records:' || chr(9) || v_total_rec);
17 UTL_FILE.FCLOSE(v_file);
18 end;
19 /
PL/SQL procedure successfully completed.
SQL> declare
2 v_file utl_file.file_type;
3 v_line varchar2(100);
4 begin
5 v_file := UTL_FILE.FOPEN('TEMP','TEST.TXT','r');
6 loop
7 UTL_FILE.GET_LINE(v_file,v_line);
8 DBMS_OUTPUT.PUT_LINE(v_line);
9 end loop;
10 exception
11 when no_data_found
12 then
13 UTL_FILE.FCLOSE(v_file);
14 end;
15 /
20 SMITH 800.00
30 ALLEN 1600.00
30 WARD 1250.00
20 JONES 2975.00
30 MARTIN 1250.00
30 BLAKE 2850.00
10 CLARK 2450.00
20 SCOTT 3000.00
10 KING 5000.00
30 TURNER 1500.00
20 ADAMS 1100.00
30 JAMES 950.00
20 FORD 3000.00
10 MILLER 1300.00
Total Salary: 29025
Total Records: 14
PL/SQL procedure successfully completed.
SQL>SY. -
Modification to Write Configuration .ini file
I have found one of the annoying things about Labview's configuration file VI's is that when the configuration file is written, all spacing between sections is eliminated making it hard to read, even if the spacing was there to begin with when the file was read. For example, I would like the file to look like
[Header1]
key1=value1
key2=value2
[Header2]
key3=value3
key4=value4
But it comes out looking like:
[Header1]
key1=value1
key2=value2
[Header2]
key3=value3
key4=value4
making it harder to read.
I made a modification to the file Config Data to String.vi which is located \vi.lib\UTILITY\config.llb\
Make a backup copy of \vi.lib\UTILITY\config.llb\Config Data to String.vi and replace the file in the config.llb with the attachment (saved as LV 8.0).
What I did was any time a section header is to be written to the file, I preceded it with another CRLF character so that it creates a blank line just before the section header. To keep from having an extra blank line at the beginning of the .ini file, it does not create the CRLF there.
I hope others will find this modification useful.
Attachments:
Config Data to String.vi 26 KBtst wrote:
The idea itself is great, but I don't like the idea of changing vi.lib files (for several reasons).
I didn't look at your code, but I assume that at least in this case, the resulting files will still be processed fine by machines which don't have this modification, so it's probably not as bad, but I still don't like it.
You should probably go to the Product Suggestion Center and tell NI about this idea.
I agree about not trying to change the vi.lib files. It gets into modifying code that is rather deeply embedded about 3 or 4 sub-vi's down. By my testing, machines without the modification do handle the files just fine. The alternative would be to create a backup copy of the whole library and rename the files and use my own versions instead. I've recently installed the OpenG files and looked into them. I like the functionality they provide to be able to store and retrieve clusters of configuration data. Of course they have NI's write configuration files at the heart as well, so if they link to the original VI library then they will generate the same .ini files missing the extra lines that I like.
tst wrote:
You should probably go to the Product Suggestion Center and tell NI about this idea.
Thanks, I already did this some time ago when I created a test VI to just read and close an .ini file. I found that without setting the "write configuration file" flag in the close config file VI (which defaults to True), the whole file got rewritten even though nothing had changed. That's how I stumbled across this loss of blank lines thing.
I hope NI will look into that suggestion and add it to the config file VI library in the future. It would probably need to be implemented with a flag that says "Add blank lines?" that would default to False so that the original behavior of the VI could be maintained. Since the VI that controls the appearance of the file is a few layers deeper than Close config file VI, that flag would have to be passed through a couple of sub-VI's.
Thanks for your feedback.
Message Edited by Ravens Fan on 09-22-2007 03:22 PM -
How to read from one file and write into another file?
Hi,
I am trying to read a File and write into another file.This is the code that i am using.But what happens is last line is only getting written..How to resolve this.the code is as follows,
public String get() {
FileReader fr;
try {
fr = new FileReader(f);
String str;
BufferedReader br = new BufferedReader(fr);
try {
while((str= br.readLine())!=null){
generate=str;
} catch (IOException e1) {
e1.printStackTrace();
} }catch (FileNotFoundException e) {
e.printStackTrace();
return generate;
where generate is a string declared globally.
how to go about it?
Thanks for your reply in advanceIf you want to copy files as fast as possible, without processing them (as the DOS "copy" or the Unix "cp" command), you can try the java.nio.channels package.
import java.nio.*;
import java.nio.channels.*;
import java.io.*;
import java.util.*;
import java.text.*;
class Kopy {
* @param args [0] = source filename
* args [1] = destination filename
public static void main(String[] args) throws Exception {
if (args.length != 2) {
System.err.println ("Syntax: java -cp . Kopy source destination");
System.exit(1);
File in = new File(args[0]);
long fileLength = in.length();
long t = System.currentTimeMillis();
FileInputStream fis = new FileInputStream (in);
FileOutputStream fos = new FileOutputStream (args[1]);
FileChannel fci = fis.getChannel();
FileChannel fco = fos.getChannel();
fco.transferFrom(fci, 0, fileLength);
fis.close();
fos.close();
t = System.currentTimeMillis() - t;
NumberFormat nf = new DecimalFormat("#,##0.00");
System.out.print (nf.format(fileLength/1024.0) + "kB copied");
if (t > 0) {
System.out.println (" in " + t + "ms: " + nf.format(fileLength / 1.024 / t) + " kB/s");
} -
Using Write measurement to file There is a huge lag
I have written a code where it simulates faults i.e the primary i/p the square wave would have a high duty cycle <thats not the problem>
The problem is i have to store all the data and i'm using Write measurement to file .... but after some time there is a lag between real time and the time it has processed
require urgent help
Attachments:
Air_dryer_read_8.vi 659 KBSuch Kind of TimeOut to editing the first post but...
"real time and the time it has processed"
That's correct.
The main reason of that is the Lack of Architecture in our code and overusing of Variables/Inner Loops/Bunch of Writing Files/Express VIs and one Fantastic DLL call... Everything in same Loop.
Its an heavy computional intensive to process everything without correct using of dataflow concept (Especially in ur Case). I'm still frightened... Anyway.
Here some tips:
Avoid Variables: They can lead Race Conditions in our code and made some copies of data in memory.
Avoid Stack Sequence Structures: Use DataFlow Concept to put everything in sequence
Decouple Processes: Create one Loop to UI actions, one to Data Acquisition/Generation, one to Log Raw Data, one to Create Report and Perform some analysis.Create some mechanism with Queues/Notifier to inter process communication (See Queue Message Handler Architecture).
Avoid Express VI: They are Inneficient,bad codded (Except File Dialog when there's one VI...) and put bunch of dependencies in your project.
Create SubVIs: Provide Modularity and code reuse.
Stop Button needs to STOP: Self Explanatory
Here some links about good pratices:
http://www.ni.com/white-paper/7117/en
http://www.ni.com/white-paper/5560/en/
https://decibel.ni.com/content/docs/DOC-22047
http://lavag.org/old_files/post-705-1100237457.pdf <--- (That's good one)
"In theory, theory and practice are the same. In practice, they’re not." -
What about ISO/IEC-7816 file structure, Is this concept is not in jcard.
Hello all,
I read out ISO/IEC 7816-4 and it tell about MF , DF, EF files which are used in smart card, i am using java card.
I am reading java card but i did not read about these file structure,
according to iso/iec-7816-4 , A4 is a INS for SELECT FILE command. In scosta if i want to save name in smart card then i do
*1*- create MF
*2*-create Df ( INS- E0)
*3*- create ef with record oriented structure(INS-E0)
*4* run write record command (*INS-D2*)
and now i can read this name whenever i want by using read record command.
I only want to know that if i want to record several names in java card (in java card eeprom ) then which line i need to write inside the PROCESS () method of applet.
-----------how i permanent save in smart card memory?
-----------how i read the data from perticular location or the location where name exist?
Thanks in advance..............
Edited by: rohit pathak on Feb 9, 2012 10:41 PM
Edited by: rohit pathak on Feb 9, 2012 10:42 PMif (selectingApplet())
return;
// this method is use to make a difference between select applet
//apdu { have to call it before any apdu pass to card, this apdu is isolate to process method }
//and other apdu { here class and INS is for your choice,
// it depends how u implement it in process().amazing Umer, atleast for me really it's gr8 to have you here..
you know i am a beginner so it is sure that there would be a no. of question in my mind now!!!!!and I want to share with you for your answer as well try to get it by my own, u already help me a lot , and i would
be always thankful for this. I am posting some questions here, if you feel it is genuine question , pls reply and if
you think i am bothering you to ask such a foolish question , u dont!!!!
QUESTION -1
As I know about architecture of any application is -
//normal java software java card java card
// 1 2 3
1- application program host application host application
2- JVM Applets Applets
3- operating system JCRE(which contain all classes, JVM ....) JCRE(act as a O.S too)
4 hardware Operating system H/W
5 hardwareWhat do u think- case 2 is right? or 3 is!!!!!!!!!!!
I think - case 3 is right!!!!
As i study from several sources , JCRE is complete package - it behaves as a operation system and use the functionality of component it contain. I also think if i will purchase a java card from any vendor , it would have JCRE inside it (means everthing inside it,), i only need to develop the applet according to my requirement and install it by on card installer program
QUESTION 2- what is the advantage of java card.?
// I think.
as i read out , i got the line that it is platform independent and support multiple application. applicaton point of
view , I am agree but how it is platfrom independent. if we use java card for smart card development, then
i will purchase Java card from differnt vendor , all will provide me card with supported jcre inside it, so why
this is advantage here?
// in case of window based application , it really make sense because if i will make any window application with java
// i can run it in windows , linux , unix and most of os flavours, here i can see the beauty of java language.
Clear me this and add some other java card advantages, which make java card goodquestion 3-
Now I am capaple to make simple applets, so I want to check the entire java card process atleast once before
going in deep of something, I am thinking to implement prepaid card concept , i made it applet for it ,it will
contain a page with 2 text box ( 1- for recharge 2- for money deduction ) and two button , with button click i
want to select the applet and want to pass the apdu.
( a) how i can make host window application ? (i think awt will work for me? , *
i never make any java window application yet) *
( b) still i dont have any java card , i want to make it by using simulator, is it possible?
(c) in this scenario what framework i need to study Ex. Import javacard.framework.* for making
applet or from where i need to start.regards:
rohit pathak
Edited by: rohit pathak on Feb 9, 2012 10:39 PM -
How Do I write an XML file using Java?
Hello there!! to everyone reading my post.
I have this project I need to do, and I have no clue where to start, I was wondering if you guys could help me out.
I need to know how to write an XML file using a Java Program, but without using a Third party library.... just using java native APIs.
I will probably take the values to construct the file from a form.
I will certainly appreciate if you could post some sample code for me.
Thank you very much in advance..Hello there!,
I have some doubts about the Tutorial I am currently reading. correct me If I'm wrong, but the section "Write a simple XML file" teaches you how to do so using a text editor. I need to create my XML file from a running Java Program written by myself, that takes the values to build it from some variables.
If I'm totally wrong about what I'm saying, could you please point me to where I can find the information of how to do what I'm asking for, inside the tutorial.
Thank you very much,...
sincerely.
Maybe you are looking for
-
After connecting an external monitor to my MacBook(late 2008) is it possible to show different images on the two screens at the same time? TIA
-
Automatic Payment Run - Generate Extra line items
Hi All, We need to create extra line items when automatic payment (F110) is run because we need sub-fund entries. For example: Automatic payment will create: Vendor a/c Dr. Unpresented Cheque a/c Cr. We need: Vendor a/c Dr. Sub-Fund a/c Dr. Unpresent
-
How to create new connection in directory service manager
Hello, I have upgraded OID from 10.1.4.3 to 11.1.1.6. after upgrade i used below url to connect directory service manager. http://hosname:7005/odsm trying to create new connection but not able to connect getting below error "Bind Failed. Host='dog104
-
Set parameters globally?
We are deploying the Sun JVM to a large number of users of an ERP system. They require a larger heap size than the default. The clients are running XP and 2000. I have found the -Xmx parameter, but no way to configure it during the install. I can hac
-
Add-On [X] failed with exception; Event Type:16
Hi, I'm currently trying to create a SAP B1 Add-On using C# (Framework 3.5/VS 2008). I've done several VB.Net Add-Ons in the past but this is the first one I try to create one in C#. Using the SDK code examples, I've managed to create an Add-On