Applescript application read from file
-
07-07-2019 - |
Question
I have a compiled AppleScript application which I have moved to my windows server. I'd like to then insert a text file into the application (which looks like a zip file on windows):
myapplescript.app/Contents/Resources/MyNewDir/MyTxtFile.txt
So, I've precompiled the AppleScript to try to read from this text file and get the contents as a string. This is what I do:
set theFolder to POSIX path of (the path to me)
set theFile to theFolder & "Contents/Resources/MyNewDir/MyTxtFile.txt"
open for access theFile
set fileContents to (read theFile)
close access theFile
but this is the error I get:
Can't make "/Users/mike/Desktop/myapplescript.app/Contents/Resources/MyNewDir/MyTxtFile.txt" into type file
Solution
Ok, I figured it out, I changed the second line to this:
set theFile to (POSIX file (theFolder & "Contents/Resources/MyNewDir/MyTxtFile.txt"))
OTHER TIPS
There is also a single line version of read:
read POSIX file "/tmp/test.txt" as «class utf8»
Both versions use MacRoman unless you add as «class utf8»
. (as Unicode text
is UTF-16.)
Reading a file via a file path in a variable.
The 1st two work. The 3rd, which stores the file name in variable does not.
set myData to read file POSIX file ¬ "/Users/sww/Devel/afile.csv"
set myData to read file ¬ "Macintosh HD:Users:sww:Devel:afile.csv"
set fRef to "Macintosh HD:Users:sww:Devel:afile.csv"
set myData to read file fRef -- No good
To fix? Give the file reference as a string.
set myData to read file (fRef as string) -- OK